summaryrefslogtreecommitdiff
path: root/desktop-shell
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2019-12-09 16:36:47 +0200
committerMarius Vlad <marius.vlad@collabora.com>2022-08-01 15:35:00 +0300
commitf9e52eb0d759468a31ca131380d4db8de815f8d1 (patch)
tree4d9699948425ddc2f968272282b2c1d9545e7e8a /desktop-shell
parentaac8eefc447c90c2cb179a1f7b2d1ed049f466ab (diff)
downloadweston-f9e52eb0d759468a31ca131380d4db8de815f8d1.tar.gz
desktop-shell: Always update the shsurf's output to that of the view
In case shsurfs are migrated/moved or started on different outputs other than the default one, it causes fullscreen views to never being demoted to a lower stacking level, due to the fact we never update the view's output whenever that has changed. Synchronize the desktop shell output's with the view's output in the transform_handler. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Suggested-by: Daniel Stone <daniel.stone@collabora.com>
Diffstat (limited to 'desktop-shell')
-rw-r--r--desktop-shell/shell.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 9ebc9550..d1a2035d 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -3713,6 +3713,8 @@ transform_handler(struct wl_listener *listener, void *data)
if (!shsurf)
return;
+ shell_surface_set_output(shsurf, shsurf->view->output);
+
api = shsurf->shell->xwayland_surface_api;
if (!api) {
api = weston_xwayland_surface_get_api(shsurf->shell->compositor);