diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2020-06-05 17:23:43 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2020-06-15 14:48:42 +0300 |
commit | c8d025cdb9b3a60f86ebe79065f848ebb3d45d3e (patch) | |
tree | 64e0952ce48a58be0962d68aa8b539081415ad70 | |
parent | 168261297ce8d6e17ca69eb1de4d0e98de52eedc (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
-rw-r--r-- | src/layout.c | 10 |
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; |