summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-06-13 13:47:19 +0300
committerMarius Vlad <marius.vlad@collabora.com>2023-06-13 13:58:28 +0300
commite089e3ba1b7581a93834ce6e74824db95f55389c (patch)
tree245ebdedee2c65f04d0453ae30cc04a86036a865
parent07c332f0b8c32976dc3b0ad7f8433de7641e4778 (diff)
shell: Don't reset the activation area always
Rather than doing that always, be more selective, and perform it if we had already an application active. Bug-AGL: SPEC-4829 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I707f92d1cc1f820af493bae9daa5a948aa452ad8
-rw-r--r--src/shell.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shell.c b/src/shell.c
index 2f8a722..1aabb5a 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1795,18 +1795,20 @@ unbind_agl_shell(struct wl_resource *resource)
}
wl_list_for_each(output, &ivi->outputs, link) {
- struct weston_geometry area = {};
/* reset the active surf if there's one present */
if (output->active) {
+ struct weston_geometry area = {};
+
output->active->view->is_mapped = false;
output->active->view->surface->is_mapped = false;
weston_layer_entry_remove(&output->active->view->layer_link);
output->active = NULL;
+
+ output->area_activation = area;
}
- output->area_activation = area;
insert_black_curtain(output);
}