mirror of
https://github.com/brl/mutter.git
synced 2025-02-05 16:14:10 +00:00
e38db1237d
If the ancestor a window is transient for has already been unmanaged when the window is activated via meta_window_activate_full while its transient_for property still points to that ancestor, this will cause the already unmanaged ancestor to get added to the windows workspace. This is after the ancestor had its workspace set to NULL when it was unmanaged, causing this to look like an actual workspace change. Once the window has been added to the workspace, it will never be removed again, because the it has already been unmanaged. This confuses things like the shell window tracker and leads to phantom windows being considered present for apps that are not even running anymore. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4184 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2003>