xwm: fix a crash in handle_state
To produce the bug, build and run: (you don't need the game data to test)
https://github.com/clintbellanger/flare-engine/
$ mv ~/.config/flare ~/.config/flare.bak
$ ./flare # click 'configure', set full screen mode then click 'ok'
# weston will crash and dump core.
[Pekka: edited the commit message]
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index bdfac23..9284a05 100644
--- a/xwayland/window-manager.c
+++ b/xwayland/window-manager.c
@@ -1326,7 +1326,9 @@
WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT,
0, NULL);
} else {
- shell_interface->set_toplevel(window->shsurf);
+ if (window->shsurf)
+ shell_interface->set_toplevel(window->shsurf);
+
window->width = window->saved_width;
window->height = window->saved_height;
if (window->frame)