From 85e714ecb1e00e2652a6700a6868c698010c8c3e Mon Sep 17 00:00:00 2001 From: Sascha Silbe Date: Thu, 3 Mar 2011 14:30:30 +0100 Subject: [PATCH] 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 Acked-by: Simon Schampijer --- src/sugar/graphics/palettewindow.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sugar/graphics/palettewindow.py b/src/sugar/graphics/palettewindow.py index ee9be966..5281e54e 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