shell: Avoid creating and inserting black surface 33/25433/3
authorMarius Vlad <marius.vlad@collabora.com>
Tue, 6 Oct 2020 06:51:42 +0000 (09:51 +0300)
committerMarius Vlad <marius.vlad@collabora.com>
Thu, 5 Nov 2020 08:41:32 +0000 (10:41 +0200)
Creating and inserting the black surface will require to have an
valid weston output. That might not be always the case so guard
against no output being set.

Bug-AGL: SPEC-3601

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: If7034bf0259fee164ba0f4b6a6ac3ef7d6bf30d6

src/shell.c

index 40beef1..4f70dfc 100644 (file)
@@ -576,6 +576,9 @@ create_black_surface_view(struct ivi_output *output)
        struct weston_compositor *wc= ivi->compositor;
        struct weston_output *woutput = output->output;
 
+       if (!woutput)
+               return;
+
        surface = weston_surface_create(wc);
        view = weston_view_create(surface);
 
@@ -623,9 +626,9 @@ insert_black_surface(struct ivi_output *output)
 {
        struct weston_view *view;
 
-       if (!output &&
+       if ((!output &&
            !output->fullscreen_view.fs &&
-           !output->fullscreen_view.fs->view) {
+           !output->fullscreen_view.fs->view) || !output->output) {
                weston_log("Output %s doesn't have a surface installed!\n", output->name);
                return;
        }