mirror of
https://github.com/brl/mutter.git
synced 2024-11-28 19:10:43 -05:00
session: use initial workspace if no workspace set
Having “on_all_workspaces_requested” FALSE on a window does not imply a workspace is set. If the X11 window is placed on a secondary monitor while workspaces applies on primary monitor only (“workspaces-only-on-primary” set) then “on_all_workspaces_requested” is FALSE while “on_all_workspaces“ is TRUE and the associated workspace is NULL, leading to a crash when saving the gnome-shell/mutter session. So if no workspace is set, use the “initial_workspace” instead to avoid a NULL pointer dereference. https://bugzilla.gnome.org/show_bug.cgi?id=792818
This commit is contained in:
parent
58bb61e161
commit
fbd5a74a0b
@ -950,7 +950,10 @@ save_state (void)
|
|||||||
fputs (" <sticky/>\n", outfile);
|
fputs (" <sticky/>\n", outfile);
|
||||||
} else {
|
} else {
|
||||||
int n;
|
int n;
|
||||||
n = meta_workspace_index (window->workspace);
|
if (window->workspace)
|
||||||
|
n = meta_workspace_index (window->workspace);
|
||||||
|
else
|
||||||
|
n = window->initial_workspace;
|
||||||
fprintf (outfile,
|
fprintf (outfile,
|
||||||
" <workspace index=\"%d\"/>\n", n);
|
" <workspace index=\"%d\"/>\n", n);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user