From cafc652cf647adce97522478410f89e8c30e854b Mon Sep 17 00:00:00 2001 From: Sergi Granell Date: Mon, 25 Sep 2017 11:57:37 +0200 Subject: [PATCH] compositor-wayland: use input region instead of opaque region to zxdg_shell_v6::set_window_geometry The opaque region is a few pixels off due to the rounded corners of the frame decorations, and, therefore, the input region matches the window's geometry more closely. Signed-off-by: Sergi Granell Reviewed-by: Pekka Paalanen --- libweston/compositor-wayland.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c index fc929364..00cc4d47 100644 --- a/libweston/compositor-wayland.c +++ b/libweston/compositor-wayland.c @@ -779,12 +779,6 @@ wayland_output_resize_surface(struct wayland_output *output) wl_surface_set_input_region(output->parent.surface, region); wl_region_destroy(region); - frame_opaque_rect(output->frame, &ix, &iy, &iwidth, &iheight); - region = wl_compositor_create_region(b->parent.compositor); - wl_region_add(region, ix, iy, iwidth, iheight); - wl_surface_set_opaque_region(output->parent.surface, region); - wl_region_destroy(region); - if (output->parent.xdg_surface) { zxdg_surface_v6_set_window_geometry(output->parent.xdg_surface, ix, @@ -793,6 +787,12 @@ wayland_output_resize_surface(struct wayland_output *output) iheight); } + frame_opaque_rect(output->frame, &ix, &iy, &iwidth, &iheight); + region = wl_compositor_create_region(b->parent.compositor); + wl_region_add(region, ix, iy, iwidth, iheight); + wl_surface_set_opaque_region(output->parent.surface, region); + wl_region_destroy(region); + width = frame_width(output->frame); height = frame_height(output->frame); } else {