summaryrefslogtreecommitdiffstats
path: root/src/layout.c
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-15 14:48:42 +0300
commitc8d025cdb9b3a60f86ebe79065f848ebb3d45d3e (patch)
tree64e0952ce48a58be0962d68aa8b539081415ad70 /src/layout.c
parent168261297ce8d6e17ca69eb1de4d0e98de52eedc (diff)
layout: Do not attempt to activate the surface on the remote output
Once the view has been placed on remote output do not attempt to activate it on other output, as it would make quite confusing to have same view on multiple outputs. Bug-AGL: SPEC-3280 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I36a8df18a174e3d5fd5f49ff5bdf70f1a16c86cb
Diffstat (limited to 'src/layout.c')
-rw-r--r--src/layout.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/layout.c b/src/layout.c
index 325f712..a11aadc 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_with_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;