mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 23:50:41 -05:00
core: propagate the effective on-all-workspaces setting to transient window
Commit 09bab98b1e
tried to avoid several workspace changes while in
window construction, but it missed a case:
If we have a window on a secondary monitor with no workspaces enabled
(so it implicitly gets on_all_workspaces = TRUE without requesting it)
and trigger the creation of a second window that has the first as
transient-for, it would first try to set the first workspace than the
transient-for window and then fallback to all/current workspace.
After that commit we only try to set the same workspace than the
transient-for window, but it gets none as neither is on a single workspace,
nor did really request to be on all workspaces.
Fixes crashes when opening transient X11 dialogs in the secondary monitor.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/714
This commit is contained in:
parent
82b222f218
commit
cda9579034
@ -1293,7 +1293,7 @@ _meta_window_shared_new (MetaDisplay *display,
|
|||||||
window->desc, window->transient_for->desc);
|
window->desc, window->transient_for->desc);
|
||||||
|
|
||||||
set_workspace_state (window,
|
set_workspace_state (window,
|
||||||
window->transient_for->on_all_workspaces_requested,
|
should_be_on_all_workspaces (window->transient_for),
|
||||||
window->transient_for->workspace);
|
window->transient_for->workspace);
|
||||||
}
|
}
|
||||||
else if (window->on_all_workspaces)
|
else if (window->on_all_workspaces)
|
||||||
|
Loading…
Reference in New Issue
Block a user