summaryrefslogtreecommitdiffstats
path: root/src/layout.c
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-06-01 21:04:18 +0300
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-06-15 10:08:51 +0000
commit9d29ef9fdb4a236affaec23f050baad0cfca3659 (patch)
treef10674ba216d546721dae5d985eea206791c9add /src/layout.c
parent8df7681a823e5e6f7ead5150abf65dd84d05aecd (diff)
layout: Remove black surface when trying to use migrate views to other
outputs We install a black surface in the fullscreen layer for each output, and we need to remove it before adding the new surfaces/views. We did that aleady for 'remote' type of surfaces when categorizing the type, but here we use the configuration file to determine the output, but we were missing the black surface for that output. This verifies that the black surface for that output is in use, and removes the black surface if so. Bug-AGL: SPEC-3280 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I3c4ae90ee0983bc424c932715d9a1ff082117bef
Diffstat (limited to 'src/layout.c')
-rw-r--r--src/layout.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/layout.c b/src/layout.c
index 57992ca..079325e 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -324,6 +324,13 @@ ivi_layout_desktop_committed(struct ivi_surface *surf)
/* check first if there aren't any outputs being set */
r_output = ivi_layout_find_app_id(app_id, surf->ivi);
+ if (r_output) {
+ struct weston_view *view = r_output->fullscreen_view.fs->view;
+ if (view->is_mapped || view->surface->is_mapped)
+ remove_black_surface(r_output);
+ }
+
+
/* try finding an output with a background and use that */
if (!r_output)
r_output = ivi_layout_find_bg_output(surf->ivi);