[PATCH weston 07/10] desktop-shell: properly set background widget as opaque

rawoul at gmail.com rawoul at gmail.com
Mon Aug 25 11:56:49 PDT 2014


From: Arnaud Vrac <avrac at freebox.fr>

Toytoolkit resets the opaque region which was set manually using the
wayland protocol directly, so use the widget API instead.
---
 clients/desktop-shell.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c
index db4a1fd..961a9b2 100644
--- a/clients/desktop-shell.c
+++ b/clients/desktop-shell.c
@@ -695,8 +695,6 @@ background_draw(struct widget *widget, void *data)
 	double sx, sy, s;
 	double tx, ty;
 	struct rectangle allocation;
-	struct display *display;
-	struct wl_region *opaque;
 
 	surface = window_get_surface(background->window);
 
@@ -752,13 +750,6 @@ background_draw(struct widget *widget, void *data)
 	cairo_destroy(cr);
 	cairo_surface_destroy(surface);
 
-	display = window_get_display(background->window);
-	opaque = wl_compositor_create_region(display_get_compositor(display));
-	wl_region_add(opaque, allocation.x, allocation.y,
-		      allocation.width, allocation.height);
-	wl_surface_set_opaque_region(window_get_wl_surface(background->window), opaque);
-	wl_region_destroy(opaque);
-
 	background->painted = 1;
 	check_desktop_ready(background->window);
 }
@@ -1056,6 +1047,7 @@ background_create(struct desktop *desktop)
 	background->widget = window_add_widget(background->window, background);
 	window_set_user_data(background->window, background);
 	widget_set_redraw_handler(background->widget, background_draw);
+	widget_set_transparent(background->widget, 0);
 	window_set_preferred_format(background->window,
 				    WINDOW_PREFERRED_FORMAT_RGB565);
 
-- 
1.9.1



More information about the wayland-devel mailing list