From 1a27d7dfc02c06bd0ccf4258a9108207b8832ce4 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sun, 25 Nov 2012 23:51:44 +0100 Subject: [PATCH] MessageTray: remove all tweens when tweening for state parameters MessageTray._tween sets the state variable to the in-progress value, so it must be sure that at the end of the animation the value will be the corresponding final and nothing else will happen in between. https://bugzilla.gnome.org/show_bug.cgi?id=683986 --- js/ui/messageTray.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 061135ae7..0241dbdc3 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -2108,6 +2108,8 @@ const MessageTray = new Lang.Class({ params.onCompleteScope = this; params.onCompleteParams = [statevar, value, onComplete, onCompleteScope, onCompleteParams]; + // Remove other tweens that could mess with the state machine + Tweener.removeTweens(actor); Tweener.addTween(actor, params); let valuing = (value == State.SHOWN) ? State.SHOWING : State.HIDING; @@ -2429,8 +2431,6 @@ const MessageTray = new Lang.Class({ if (this._notificationWidget.y < expandedY) { this._notificationWidget.y = expandedY; } else if (this._notification.y != expandedY) { - // Remove any other tween that could mess with the state machine - Tweener.removeTweens(this._notificationWidget); // Tween also opacity here, to override a possible tween that's // currently hiding the notification. this._tween(this._notificationWidget, '_notificationState', State.SHOWN,