diff options
-rw-r--r-- | src/sugar/graphics/palette.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sugar/graphics/palette.py b/src/sugar/graphics/palette.py index 8d19e6f..f89f260 100644 --- a/src/sugar/graphics/palette.py +++ b/src/sugar/graphics/palette.py @@ -201,11 +201,18 @@ class Palette(PaletteWindow): def popdown(self, immediate=False): if immediate: self._secondary_anim.stop() - self.menu.popdown() + self._popdown_submenus() # to suppress glitches while later re-opening self.set_palette_state(self.PRIMARY) PaletteWindow.popdown(self, immediate) + def _popdown_submenus(self): + # TODO explicit hiding of subitems + # should be removed after fixing #1301 + for menu_item in self.menu.get_children(): + if menu_item.props.submenu is not None: + menu_item.props.submenu.popdown() + def on_enter(self, event): PaletteWindow.on_enter(self, event) self._secondary_anim.start() |