[PATCH] Wayland backend: set the opaque region when starting fullscreen

Axel Davy axel.davy at ens.fr
Sun Nov 17 09:02:50 PST 2013


The opaque region is not set when we start the nested
compositor fullscreen. This patch fixes this.

Signed-off-by: Axel Davy <axel.davy at ens.fr>
---
 src/compositor-wayland.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index ed3923b..08741d9 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -785,6 +785,7 @@ wayland_output_create(struct wayland_compositor *c, int x, int y,
 				      &shell_surface_listener, output);
 
 	if (fullscreen) {
+		struct wl_region *region;
 		wl_shell_surface_set_fullscreen(output->parent.shell_surface,
 						0, 0, NULL);
 		wl_display_roundtrip(c->parent.wl_display);
@@ -792,6 +793,11 @@ wayland_output_create(struct wayland_compositor *c, int x, int y,
 			output_width = output->parent.configure_width;
 		if (!height)
 			output_height = output->parent.configure_height;
+
+		region = wl_compositor_create_region(c->parent.compositor);
+		wl_region_add(region, 0, 0, output_width, output_height);
+		wl_surface_set_opaque_region(output->parent.surface, region);
+		wl_region_destroy(region);
 	}
 
 	output->mode.flags =
-- 
1.8.1.2



More information about the wayland-devel mailing list