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>
This commit is contained in:
Marius Vlad 2019-12-09 16:36:47 +02:00
parent aac8eefc44
commit f9e52eb0d7

View file

@ -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);