Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/graphics/palette.py
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2007-09-17 21:42:17 (GMT)
committer Simon Schampijer <simon@schampijer.de>2007-09-17 21:42:17 (GMT)
commit8ae1f9aad8e96c683c55988b317562c37634737e (patch)
treef005bbd4da779b14530b5e985d3c3f0339397b98 /sugar/graphics/palette.py
parent44ffef5f67d7ecae2ebdf7f6ce4c0934f645e8ad (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.py11
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