aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-06-05 17:23:43 +0300
committerMarius Vlad <marius.vlad@collabora.com>2020-06-08 23:24:15 +0300
commit2827529f59005ec9c488ff83101e087a8ead975a (patch)
tree7733dcc277acce1950771ce3787edc6c541edec1
parent9aa06a04b36d5d962f3b1cc8b6a541f8e73f6278 (diff)
layout: Do not attempt to activate the surface on the remote outputsandbox/mvlad/remote-surfaces
Once the view has been placed on remote output do not attempt to activate it on other output, as it would make it quite confusing to have same view on multiple outputs. Bug-AGL: SPEC-3280 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ibc89bbc9f0e90169286b387b73369079fe086d61
-rw-r--r--src/layout.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/layout.c b/src/layout.c
index b749b76..4be3254 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -614,6 +614,16 @@ ivi_layout_activate(struct ivi_output *output, const char *app_id)
ivi_layout_surface_is_split_or_fullscreen(surf))
return;
+ if (surf->role == IVI_SURFACE_ROLE_REMOTE) {
+ struct ivi_output *remote_output =
+ ivi_layout_find_app_id(app_id, ivi);
+
+ /* if already active on a remote output do not
+ * attempt to activate it again */
+ if (remote_output && remote_output->active == surf)
+ return;
+ }
+
dsurf = surf->dsurface;
view = surf->view;