diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2024-01-30 15:33:01 +0200 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2024-02-22 13:51:33 +0000 |
commit | 594b5d1c6e1bc7eb8931dc58fbb62db81ae42ae0 (patch) | |
tree | d6ea9745c08b90ab62707ee24feaa9cd0a4f25ed | |
parent | 3f2cdeae25429b84600ff31608e593ac1c56398e (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.c | 10 |
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); |