From 594b5d1c6e1bc7eb8931dc58fbb62db81ae42ae0 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Tue, 30 Jan 2024 15:33:01 +0200 Subject: [PATCH] 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 Change-Id: I65383f8b3467f3b3093786907b194dce3cf635af --- src/layout.c | 10 +++++++--- 1 file 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); -- 2.16.6