Stop all animators on poup/popdown invoking #1310
This commit is contained in:
parent
aed38758be
commit
ff2dd6cc0e
@ -193,11 +193,17 @@ class Palette(PaletteWindow):
|
||||
state = self.PRIMARY
|
||||
self.set_palette_state(state)
|
||||
|
||||
if state == self.PRIMARY:
|
||||
self._secondary_anim.start()
|
||||
else:
|
||||
self._secondary_anim.stop()
|
||||
|
||||
def on_popdown(self):
|
||||
def popdown(self, immediate=False):
|
||||
if immediate:
|
||||
# to suppress glitches while later re-opening
|
||||
self.set_palette_state(self.PRIMARY)
|
||||
PaletteWindow.popdown(self, immediate)
|
||||
self._secondary_anim.stop()
|
||||
|
||||
def on_enter(self, event):
|
||||
PaletteWindow.on_enter(self, event)
|
||||
|
@ -319,6 +319,7 @@ class PaletteWindow(gtk.Window):
|
||||
if not immediate:
|
||||
self._popup_anim.start()
|
||||
else:
|
||||
self._popup_anim.stop()
|
||||
self.show()
|
||||
# we have to invoke update_position() twice
|
||||
# since WM could ignore first move() request
|
||||
@ -326,20 +327,17 @@ class PaletteWindow(gtk.Window):
|
||||
|
||||
def popdown(self, immediate=False):
|
||||
logging.debug('PaletteWindow.popdown immediate %r', immediate)
|
||||
self._popup_anim.stop()
|
||||
|
||||
self._popup_anim.stop()
|
||||
self._mouse_detector.stop()
|
||||
|
||||
if not immediate:
|
||||
self._popdown_anim.start()
|
||||
else:
|
||||
self.on_popdown()
|
||||
self._popdown_anim.stop()
|
||||
self.size_request()
|
||||
self.hide()
|
||||
|
||||
def on_popdown(self):
|
||||
self._popdown_anim.stop()
|
||||
|
||||
def on_invoker_enter(self):
|
||||
self._mouse_detector.start()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user