# HG changeset patch # User Jeremy Thurgood # Date 1283025663 -7200 # Node ID c7a6846262e3619787a1cc72823ae256ac980231 # Parent 90ae05f257933da04e805c6d906fb71531ac0bc7 Fix cursor handling after message dismissal. diff -r 90ae05f25793 -r c7a6846262e3 gamelib/gamescreen.py --- a/gamelib/gamescreen.py Sat Aug 28 21:51:26 2010 +0200 +++ b/gamelib/gamescreen.py Sat Aug 28 22:01:03 2010 +0200 @@ -24,6 +24,7 @@ def __init__(self, screen): PaletteView.__init__(self, (BUTTON_SIZE, BUTTON_SIZE), 1, 6, scrolling=True) + self.screen = screen self.state = screen.state self.state_widget = screen.state_widget @@ -44,6 +45,12 @@ else: self.state.set_tool(self.state.inventory[item_no]) + def mouse_down(self, event): + if event.button != 1: + self.state.cancel_doodah(self.screen) + else: + PaletteView.handle_mouse(self, event) + def item_is_selected(self, item_no): return self.state.tool is self.state.inventory[item_no] diff -r 90ae05f25793 -r c7a6846262e3 gamelib/widgets.py --- a/gamelib/widgets.py Sat Aug 28 21:51:26 2010 +0200 +++ b/gamelib/widgets.py Sat Aug 28 22:01:03 2010 +0200 @@ -10,6 +10,7 @@ from albow.resource import get_font, get_image from pygame.color import Color from pygame.rect import Rect +from pygame import mouse from constants import BUTTON_SIZE from cursor import CursorWidget @@ -120,6 +121,9 @@ def mouse_down(self, event): self.dismiss() + self.screen.state_widget._mouse_move(mouse.get_pos()) + for widget in self.screen.state_widget.subwidgets: + widget._mouse_move(mouse.get_pos()) def cursor_highlight(self): return False