summaryrefslogtreecommitdiffstats
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
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
-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);