workspaceThumbnail: Only create thumbnails once

`ThumbnailsBox` listens for the `showing` signal from the `Overview` to
create its thumbnails and destroys them on the `hide` signal. Since the
`showing` signal can be emitted multiple times when switching between
the shown and hidden state without ever fully completing the transition,
this will cause `_createThumbnails` to be called multiple times, each
time adding another set of workspaces.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3819
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1828>
This commit is contained in:
Sebastian Keller 2021-04-29 16:07:21 +02:00 committed by Marge Bot
parent 77023135ac
commit 0e917c3dbf

View File

@ -993,6 +993,9 @@ var ThumbnailsBox = GObject.registerClass({
}
_createThumbnails() {
if (this._thumbnails.length > 0)
return;
let workspaceManager = global.workspace_manager;
this._nWorkspacesNotifyId =