aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-06-01 21:04:18 +0300
committerMarius Vlad <marius.vlad@collabora.com>2020-06-08 23:19:29 +0300
commit1bb0de141fef88854ce07ef4bed8bc0c1d7fffee (patch)
treee37bca1adf2633d9e4aaf5a30894105552f589d4
parent7facdb9fb53872b6e63e3334c776d7c54638616c (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 is 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
-rw-r--r--src/layout.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/layout.c b/src/layout.c
index fac7ab9..d1c1f75 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);