Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <silbe@activitycentral.com>2011-03-03 13:30:30 (GMT)
committer Simon Schampijer <simon@schampijer.de>2011-03-31 14:46:56 (GMT)
commit76997b7f101ed9dc624d21729ba6b0a8adda1108 (patch)
treeb9368bd3c5d871a7609e1d0b5336fa1de42e3af4
parent8f9f320ea9480fc921e71404bb24f4643aa3a918 (diff)
fix regressions introduced by 29582de6 (fix for SL#1742)
GTK pops down the palette before it invokes the actions on the menu item. We need to postpone destruction of the palette until after all signals have propagated from the menu item to the palette owner. Symptoms included the "View Details" palette menu item in the Journal list view not working. Signed-off-by: Sascha Silbe <silbe@activitycentral.com> Acked-by: Simon Schampijer <simon@laptop.org>
-rw-r--r--src/sugar/graphics/palettewindow.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/sugar/graphics/palettewindow.py b/src/sugar/graphics/palettewindow.py
index ee9be96..5281e54 100644
--- a/src/sugar/graphics/palettewindow.py
+++ b/src/sugar/graphics/palettewindow.py
@@ -643,7 +643,13 @@ class Invoker(gobject.GObject):
if self._palette is not None:
self._palette.popdown(immediate=True)
self._palette.props.invoker = None
- self._palette.destroy()
+ # GTK pops down the palette before it invokes the actions on the
+ # menu item. We need to postpone destruction of the palette until
+ # after all signals have propagated from the menu item to the
+ # palette owner.
+ gobject.idle_add(lambda old_palette=self._palette:
+ old_palette.destroy(),
+ priority=gobject.PRIORITY_LOW)
self._palette = palette