[PATCH weston 2/2] compositor-wayland: Check the return value of wayland_output_create_common

Sergi Granell xerpi.g.12 at gmail.com
Fri Mar 24 18:53:42 UTC 2017


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

Signed-off-by: Sergi Granell <xerpi.g.12 at gmail.com>
---
 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



More information about the wayland-devel mailing list