summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-04-26 09:49:08 +0300
committerMarius Vlad <marius.vlad@collabora.com>2023-05-03 18:46:19 +0300
commit998097db427c6aeb61e62cd6cf7ad3821e7d0372 (patch)
tree4356fb7e0195570123a726cc3d2db6319105103f
parentd5d2af73456fbaac69084bbd04838fcc1aed71a9 (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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/layout.c b/src/layout.c
index a5e3b36..b7ef788 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -430,8 +430,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,