diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index b06e60209..03e97f175 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -691,6 +691,11 @@ var ThumbnailsBox = GObject.registerClass({ global.display.connect('workareas-changed', this._updatePorthole.bind(this)); + this.connect('notify::visible', () => { + if (!this.visible) + this._queueUpdateStates(); + }); + this._switchWorkspaceNotifyId = 0; this._nWorkspacesNotifyId = 0; this._syncStackingId = 0; @@ -1122,6 +1127,10 @@ var ThumbnailsBox = GObject.registerClass({ if (this._animatingIndicator) return; + // Likewise if we are in the process of hiding + if (!this._shouldShow && this.visible) + return; + // Then slide out any thumbnails that have been destroyed this._iterateStateThumbnails(ThumbnailState.REMOVING, thumbnail => { this._setThumbnailState(thumbnail, ThumbnailState.ANIMATING_OUT);