[PATCH weston] compositor: Always set output_mask in weston_surface_update_output_mask().

Scott Moreau oreaus at gmail.com
Fri Aug 3 16:11:51 PDT 2012


---

Commit 982387011 causes a bug where starting weston results in a black screen
(if no clients are immediately started). The problem is that the offending
commit causes the compositor to not damage if there is no difference in the
output_mask, which is the case when the compositor first starts. This patch
updates the surface output_mask unconditionally, whereas it stands currently,
might not be set due to the cases where we return immediately.

 src/compositor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compositor.c b/src/compositor.c
index faed8f2..a3273dc 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1349,12 +1349,12 @@ weston_surface_update_output_mask(struct weston_surface *es, uint32_t mask)
 	struct wl_resource *resource = NULL;
 	struct wl_client *client = es->surface.resource.client;
 
+	es->output_mask = mask;
 	if (es->surface.resource.client == NULL)
 		return;
 	if (different == 0)
 		return;
 
-	es->output_mask = mask;
 	wl_list_for_each(output, &es->compositor->output_list, link) {
 		if (1 << output->id & different)
 			resource =
-- 
1.7.11.2



More information about the wayland-devel mailing list