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-08 23:24:15 +0300 |
commit | 2827529f59005ec9c488ff83101e087a8ead975a (patch) | |
tree | 7733dcc277acce1950771ce3787edc6c541edec1 | |
parent | 9aa06a04b36d5d962f3b1cc8b6a541f8e73f6278 (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.c | 10 |
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; |