From: Pekka Paalanen <[email protected]>

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 <[email protected]>
Signed-off-by: Fabien Lahoudere <[email protected]>
---
 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

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to