If wayland_output_create_common returns NULL, it means that
the output creation failed.

Signed-off-by: Sergi Granell <[email protected]>
---
 libweston/compositor-wayland.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c
index 41834692..c8eceee7 100644
--- a/libweston/compositor-wayland.c
+++ b/libweston/compositor-wayland.c
@@ -1261,6 +1261,9 @@ wayland_output_create(struct weston_compositor 
*compositor, const char *name)
 {
        struct wayland_output *output = wayland_output_create_common(name);
 
+       if (!output)
+               return -1;
+
        weston_output_init(&output->base, compositor);
        weston_compositor_add_pending_output(&output->base, compositor);
 
@@ -1319,9 +1322,13 @@ static int
 wayland_output_create_for_parent_output(struct wayland_backend *b,
                                        struct wayland_parent_output *poutput)
 {
-       struct wayland_output *output = 
wayland_output_create_common("wlparent");
+       struct wayland_output *output;
        struct weston_mode *mode;
 
+       output = wayland_output_create_common("wlparent");
+       if (!output)
+               return -1;
+
        if (poutput->current_mode) {
                mode = poutput->current_mode;
        } else if (poutput->preferred_mode) {
@@ -1367,9 +1374,13 @@ out:
 static int
 wayland_output_create_fullscreen(struct wayland_backend *b)
 {
-       struct wayland_output *output = 
wayland_output_create_common("wayland-fullscreen");
+       struct wayland_output *output;
        int width = 0, height = 0;
 
+       output = wayland_output_create_common("wayland-fullscreen");
+       if (!output)
+               return -1;
+
        weston_output_init(&output->base, b->compositor);
 
        output->base.scale = 1;
-- 
2.12.1

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

Reply via email to