From c93b37feda9036c2d92dbfd3eb2690b337050802 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Wed, 29 Jul 2020 16:38:52 +1000 Subject: [PATCH] do not render frames when any surface has uncommitted changes --- dwl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dwl.c b/dwl.c index 4c6c7d9..44b79a5 100644 --- a/dwl.c +++ b/dwl.c @@ -1243,10 +1243,10 @@ rendermon(struct wl_listener *listener, void *data) struct timespec now; clock_gettime(CLOCK_MONOTONIC, &now); - /* Do not render if clients have uncommitted changes. */ + /* Do not render if XDG clients have uncommitted changes. */ wl_list_for_each(c, &stack, slink) { - if (c->dirty) + if (c->type == XDGShell && c->dirty) { wlr_surface_send_frame_done(WLR_SURFACE(c), &now); render = 0; @@ -1295,6 +1295,7 @@ resize(Client *c, int x, int y, int w, int h, int interact) c->geom.y = y; c->geom.width = w; c->geom.height = h; + c->dirty = 1; applybounds(c, bbox); /* wlroots makes this a no-op if size hasn't changed */ if (c->type != XDGShell)