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
