summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2024-02-07 17:46:15 +0200
committerMarius Vlad <marius.vlad@collabora.com>2024-02-22 13:51:33 +0000
commit70a2d75e8e35d94bf2b1aef430ac7ed8cd3d96bc (patch)
tree8b999f0547c500c76d13f7f6f5e3e50fd1e0ed6d
parent000b725db81ae79ffec0a7a84a2c4aab2778dc82 (diff)
src: Don't attempt to split background role window
If that window is a background one, this patch avoids doing that. The background surface role needs to always be available. Discovered while testing it out with flutter embedder. Bug-AGL: SPEC-4839 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ia46b7ae590ea4feafa8a67efeb8ad540f6d2dfa0
-rw-r--r--src/layout.c2
-rw-r--r--src/shell.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/layout.c b/src/layout.c
index 0ab7e7c..95d3e54 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -1050,7 +1050,7 @@ ivi_layout_reset_split_surfaces(struct ivi_compositor *ivi)
return;
output = ivisurf->current_completed_output;
- if (output->previous_active) {
+ if (output->previous_active && output->background != output->previous_active) {
struct weston_view *ev = output->previous_active->view;
struct weston_output *woutput = output->output;
diff --git a/src/shell.c b/src/shell.c
index cce4dec..a44dddf 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1921,7 +1921,7 @@ void shell_set_app_split(struct wl_client *client, struct wl_resource *res,
return;
}
- if (output->previous_active) {
+ if (output->previous_active && output->background != output->previous_active) {
struct weston_view *ev = output->previous_active->view;
if (!weston_view_is_mapped(ev))