[PATCH weston 2/4] desktop-shell: handle NULL output in center_on_output()

Fabien Lahoudere fabien.lahoudere at collabora.com
Wed May 2 08:21:56 UTC 2018


From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

This is a tentative crash fix for a case where there are no enabled
weston_outputs at all.

If no output is given, just put the surface at 0,0. At least it should
become mostly visible if an output is plugged in, if not centered.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Fabien Lahoudere <fabien.lahoudere at collabora.com>
---
 desktop-shell/shell.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index c1a551b..e6ce20b 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -4150,6 +4150,11 @@ center_on_output(struct weston_view *view, struct weston_output *output)
 	int32_t surf_x, surf_y, width, height;
 	float x, y;
 
+	if (!output) {
+		weston_view_set_position(view, 0, 0);
+		return;
+	}
+
 	surface_subsurfaces_boundingbox(view->surface, &surf_x, &surf_y, &width, &height);
 
 	x = output->x + (output->width - width) / 2 - surf_x / 2;
-- 
1.8.3.1



More information about the wayland-devel mailing list