changeset 160:a5a7bb2b4b9b

Fix mouse_move() handling after dismissing message.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 25 Aug 2010 08:09:59 +0200
parents ef4da30f0f38
children 5184d30669b5
files gamelib/gamescreen.py
diffstat 1 files changed, 12 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/gamescreen.py	Wed Aug 25 00:32:44 2010 +0200
+++ b/gamelib/gamescreen.py	Wed Aug 25 08:09:59 2010 +0200
@@ -77,7 +77,10 @@
 
     def mouse_move(self, event):
         if not self.subwidgets:
-            self.state.mouse_move(event.pos)
+            self._mouse_move(event.pos)
+
+    def _mouse_move(self, pos):
+        self.state.mouse_move(pos)
 
     def show_message(self, message):
         self.parent.cursor_highlight(False)
@@ -86,7 +89,10 @@
         # queue a redraw to show updated state
         self.invalidate()
         # The cursor could have gone anywhere
-        self.state.current_scene.mouse_move(self.state.tool, mouse.get_pos())
+        if self.subwidgets:
+            self.subwidgets[0]._mouse_move(mouse.get_pos())
+        else:
+            self._mouse_move(mouse.get_pos())
 
     def show_detail(self, detail):
         w, h = self.state.set_current_detail(detail)
@@ -117,7 +123,10 @@
             result.process(self)
 
     def mouse_move(self, event):
-        self.state.mouse_move_detail(self.global_to_local(event.pos))
+        self._mouse_move(event.pos)
+
+    def _mouse_move(self, pos):
+        self.state.mouse_move_detail(self.global_to_local(pos))
 
     def show_message(self, message):
         self.parent.show_message(message)