[PATCH weston] shell: fix segfault in fullscreen binding

Boyan Ding stu_dby at 126.com
Sat Jun 7 02:40:19 PDT 2014


Commit 9aa8ce69 'shell: Don't use the helper methods in xdg_shell
implementations' forgot to set shsurf->fullscreen_optput in
fullscreen_binding(), causing weston to segfault when fullscreen
with the mod + shift + f binding. This patch fixed that issue.
---
 desktop-shell/shell.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index dd0b2f9..56ffebf 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -4180,6 +4180,12 @@ fullscreen_binding(struct weston_seat *seat, uint32_t time, uint32_t button, voi
 
 	shsurf->state_requested = true;
 	shsurf->requested_state.fullscreen = !shsurf->state.fullscreen;
+
+	if (shsurf->requested_state.fullscreen) {
+		shell_surface_set_output(shsurf, NULL);
+		shsurf->fullscreen_output = shsurf->output;
+	}
+
 	send_configure_for_surface(shsurf);
 }
 
-- 
1.9.3




More information about the wayland-devel mailing list