diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js index 543500201..01bc2c8d8 100644 --- a/js/ui/boxpointer.js +++ b/js/ui/boxpointer.js @@ -141,6 +141,7 @@ const BoxPointer = new Lang.Class({ this._muteInput(); + Tweener.removeTweens(this); Tweener.addTween(this, { opacity: fade ? 0 : 255, xOffset: xOffset, yOffset: yOffset, diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 23368a5b6..a46938866 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -1269,13 +1269,14 @@ const PopupMenu = new Lang.Class({ }, close: function(animate) { - if (!this.isOpen) - return; - if (this._activeMenuItem) this._activeMenuItem.setActive(false); - this._boxPointer.hide(animate); + if (this._boxPointer.actor.visible) + this._boxPointer.hide(animate); + + if (!this.isOpen) + return; this.isOpen = false; this.emit('open-state-changed', false);