diff --git a/src/sugar/graphics/palettegroup.py b/src/sugar/graphics/palettegroup.py index 5f15bdec..7e6ce461 100644 --- a/src/sugar/graphics/palettegroup.py +++ b/src/sugar/graphics/palettegroup.py @@ -83,6 +83,9 @@ class Group(gobject.GObject): palette.popdown(immediate=True) def _palette_popup_cb(self, palette): + for i in self._palettes: + if i != palette: + i.popdown(immediate=True) if not self._up: self.emit('popup') self._up = True diff --git a/src/sugar/graphics/palettewindow.py b/src/sugar/graphics/palettewindow.py index d08052fa..6b3ce42d 100644 --- a/src/sugar/graphics/palettewindow.py +++ b/src/sugar/graphics/palettewindow.py @@ -371,7 +371,8 @@ class PaletteWindow(gtk.Window): self.on_leave(event) def __show_cb(self, widget): - self._invoker.notify_popup() + if self._invoker is not None: + self._invoker.notify_popup() self._up = True self.emit('popup')