Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Berg <benjamin@sipsolutions.net>2008-02-25 16:12:08 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-05-20 10:32:36 (GMT)
commitedac3e893f8752b4fade256234cbaef3225aad5c (patch)
treed32a381cac47ae4409f982bc0b39e7781f3dcfaf
parent56137d3493209e005e68a973d0da64f21f33754f (diff)
Emit palette popup only after the window is mapped. This fixes ticket #3486.
-rw-r--r--lib/sugar/graphics/palette.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/sugar/graphics/palette.py b/lib/sugar/graphics/palette.py
index 85e60ac..66850f9 100644
--- a/lib/sugar/graphics/palette.py
+++ b/lib/sugar/graphics/palette.py
@@ -151,6 +151,7 @@ class Palette(gtk.Window):
self.set_border_width(self.style.xthickness)
self.connect('realize', self._realize_cb)
self.connect('destroy', self.__destroy_cb)
+ self.connect('map-event', self.__map_event_cb)
self.palette_state = self.PRIMARY
@@ -418,12 +419,6 @@ class Palette(gtk.Window):
self.menu.set_active(True)
self.show()
- self._invoker.notify_popup()
-
- self._up = True
- _palette_observer.emit('popup', self)
- self.emit('popup')
-
def _hide(self):
self._secondary_anim.stop()
@@ -514,6 +509,13 @@ class Palette(gtk.Window):
if self != palette:
self._hide()
+ def __map_event_cb(self, widget, event):
+ self._invoker.notify_popup()
+
+ self._up = True
+ _palette_observer.emit('popup', self)
+ self.emit('popup')
+
class PaletteActionBar(gtk.HButtonBox):
def add_action(label, icon_name=None):
button = Button(label)