send frame_done also to all layer surfaces

this fixes an issue when bemenu don't update his surface when typing
main
Leonardo Hernandez Hernandez 2021-09-24 16:07:06 -05:00
parent 7de6920bd7
commit df332de9d2
No known key found for this signature in database
GPG Key ID: E538897EE11B9624
1 changed files with 7 additions and 1 deletions

8
dwl.c
View File

@ -1603,7 +1603,8 @@ rendermon(struct wl_listener *listener, void *data)
* generally at the output's refresh rate (e.g. 60Hz). */ * generally at the output's refresh rate (e.g. 60Hz). */
Monitor *m = wl_container_of(listener, m, frame); Monitor *m = wl_container_of(listener, m, frame);
Client *c; Client *c;
int skip = 0; LayerSurface *layer;
int i, skip = 0;
struct timespec now; struct timespec now;
/* Render if no XDG clients have an outstanding resize. */ /* Render if no XDG clients have an outstanding resize. */
@ -1617,6 +1618,11 @@ rendermon(struct wl_listener *listener, void *data)
wl_list_for_each(c, &clients, link) wl_list_for_each(c, &clients, link)
if (VISIBLEON(c, c->mon)) if (VISIBLEON(c, c->mon))
client_for_each_surface(c, rendered, &now); client_for_each_surface(c, rendered, &now);
for (i = 0; i < LENGTH(m->layers); i++)
wl_list_for_each(layer, &m->layers[i], link)
wlr_layer_surface_v1_for_each_surface(layer->layer_surface, rendered, &now);
} }
void void