ee11ecac46
When commit 4d963c432b introduced the global workspace adjustment, it mostly copied the adjustment handling from the overview that it set out to replace. That includes cancelling ongoing transitions when the number of workspaces changed. However that missed that transitions don't happen on the main adjustment, but on the "child" adjustments returned from `createWorkspacesAdjustment()`. Address this by tracking all child adjustments, and cancel transitions there as well when necessary. Use weak refs to not interfere with garbage collection, in case an extension creates its own child adjustment. Fixes: 4d963c432b ("main: Introduce global workspaces adjustment") Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7000 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2949>