diff options
author | Simon Schampijer <simon@schampijer.de> | 2007-09-17 21:42:17 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2007-09-17 21:42:17 (GMT) |
commit | 8ae1f9aad8e96c683c55988b317562c37634737e (patch) | |
tree | f005bbd4da779b14530b5e985d3c3f0339397b98 /sugar/graphics/palette.py | |
parent | 44ffef5f67d7ecae2ebdf7f6ce4c0934f645e8ad (diff) |
Fix that several palettes are not hooked up to the same button #3293
Diffstat (limited to 'sugar/graphics/palette.py')
-rw-r--r-- | sugar/graphics/palette.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sugar/graphics/palette.py b/sugar/graphics/palette.py index 8f2a404..acc14f7 100644 --- a/sugar/graphics/palette.py +++ b/sugar/graphics/palette.py @@ -192,9 +192,16 @@ class Palette(gtk.Window): def do_set_property(self, pspec, value): if pspec.name == 'invoker': + if self._invoker is not None: + self._invoker.disconnect(self._enter_invoker_hid) + self._invoker.disconnect(self._leave_invoker_hid) + self._invoker = value - self._invoker.connect('mouse-enter', self._invoker_mouse_enter_cb) - self._invoker.connect('mouse-leave', self._invoker_mouse_leave_cb) + if value is not None: + self._enter_invoker_hid = self._invoker.connect( + 'mouse-enter', self._invoker_mouse_enter_cb) + self._leave_invoker_hid = self._invoker.connect( + 'mouse-leave', self._invoker_mouse_leave_cb) else: raise AssertionError |