diff --git a/js/ui/osdWindow.js b/js/ui/osdWindow.js index fc90ed288..efcd10dc9 100644 --- a/js/ui/osdWindow.js +++ b/js/ui/osdWindow.js @@ -140,6 +140,15 @@ const OsdWindow = new Lang.Class({ Lang.bind(this, this._hide)); }, + cancel: function() { + if (!this._hideTimeoutId) + return; + + Mainloop.source_remove(this._hideTimeoutId); + this._hideTimeoutId = 0; + this._hide(); + }, + _hide: function() { Tweener.addTween(this.actor, { opacity: 0, diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index bfe172b0c..b31dc2edb 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -160,6 +160,7 @@ const SwitcherPopup = new Lang.Class({ // disturbed by the popup briefly flashing. this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT, Lang.bind(this, function () { + Main.osdWindow.cancel(); this.actor.opacity = 255; this._initialDelayTimeoutId = 0; }));