From 17ad7d9ab4db9f7b8cafa3cae20c032bcb578035 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 11 Jul 2026 13:05:09 +0800 Subject: [PATCH] fix: miss frame request before animaiton stop --- src/animation/client.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/animation/client.h b/src/animation/client.h index eb1aee3c..7e995154 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -1404,6 +1404,9 @@ bool client_apply_focus_opacity(Client *c) { } bool client_draw_frame(Client *c) { + + bool need_more_frame = false; + if (!c || !client_surface(c)->mapped) return false; @@ -1411,6 +1414,7 @@ bool client_draw_frame(Client *c) { return client_apply_focus_opacity(c); if (config.animations && c->animation.running) { + need_more_frame = true; client_animation_next_tick(c); } else { wlr_scene_node_set_position(&c->scene->node, c->pending.x, @@ -1420,5 +1424,5 @@ bool client_draw_frame(Client *c) { client_apply_clip(c, 1.0); c->need_output_flush = false; } - return client_apply_focus_opacity(c); + return need_more_frame || client_apply_focus_opacity(c); } \ No newline at end of file