summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2024-01-30 15:33:01 +0200
committerMarius Vlad <marius.vlad@collabora.com>2024-02-22 13:51:33 +0000
commit594b5d1c6e1bc7eb8931dc58fbb62db81ae42ae0 (patch)
treed6ea9745c08b90ab62707ee24feaa9cd0a4f25ed
parent3f2cdeae25429b84600ff31608e593ac1c56398e (diff)
layout: Specify the reason for not activating windows
Rather than guessing why the windows do not activate. Found some use cases where this would be useful to be explicit. Bug-AGL: SPEC-4839 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I65383f8b3467f3b3093786907b194dce3cf635af
-rw-r--r--src/layout.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/layout.c b/src/layout.c
index b3a7329..63ef9f9 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -1091,14 +1091,18 @@ ivi_layout_activate_by_surf(struct ivi_output *output, struct ivi_surface *surf)
#endif
/* do not 're'-activate surfaces that are split or active */
- if (surf == output->active ||
- ivi_layout_surface_is_split_or_fullscreen(surf) ||
- surf->role != IVI_SURFACE_ROLE_DESKTOP) {
+ if (surf == output->active) {
weston_log("Application %s is already active on output %s\n",
app_id, output->output->name);
return;
}
+ if (ivi_layout_surface_is_split_or_fullscreen(surf)) {
+ weston_log("Application %s is fullscreen or split on output %s\n",
+ app_id, output->output->name);
+ return;
+ }
+
// destroy any split types to allow correct re-activation
ivi_layout_reset_split_surfaces(surf->ivi);