diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2023-04-26 09:49:08 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2023-04-27 20:21:26 +0000 |
commit | 42e787290b5067d85f1c04a4c44969fa0cae27d6 (patch) | |
tree | bfc58570c18bef320dd15d1bbe91a7b409f6fdcb | |
parent | 6d41be723042cbbb6962d907d52cac1af8f7f130 (diff) |
layout: Fix no-op check due to invalid checks
Checking both width and height isn't a strict requirement, either can
different. This unties the check such that we can actually move
windows/applications between different outputs.
We also add here an explicit surface damage as we're removing the view
from the layer.
Bug-AGL: SPEC-4773
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie91b8c0fd2e9357fe00fd693e2a70fa3b4b4d31a
-rw-r--r-- | src/layout.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/layout.c b/src/layout.c index 028ff4a..e8fc767 100644 --- a/src/layout.c +++ b/src/layout.c @@ -409,8 +409,10 @@ ivi_layout_add_to_hidden_layer(struct ivi_surface *surf, if (surf->hidden_layer_output && surf->hidden_layer_output != ivi_output) { weston_layer_entry_remove(&ev->layer_link); + weston_view_geometry_dirty(ev); + weston_surface_damage(ev->surface); - if (ivi_output->area.width != surf->hidden_layer_output->area.width && + if (ivi_output->area.width != surf->hidden_layer_output->area.width || ivi_output->area.height != surf->hidden_layer_output->area.height) { weston_desktop_surface_set_maximized(dsurf, true); weston_desktop_surface_set_size(dsurf, |