From 998097db427c6aeb61e62cd6cf7ad3821e7d0372 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Wed, 26 Apr 2023 09:49:08 +0300 Subject: 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 Change-Id: Ie91b8c0fd2e9357fe00fd693e2a70fa3b4b4d31a --- src/layout.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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, -- cgit 1.2.3-korg