compositor: Always set output_mask in weston_surface_update_output_mask().
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 a surface has an empty output
mask, which is the case for the fade surface, which is created by the
compositor. This patch updates the surface output_mask unconditionally,
and only skips sending out the events if there no client.
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 @@
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 =