From bfc27e4691875840010e3d1e282b8e26b821c569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sat, 18 Oct 2025 05:30:38 +0200 Subject: [PATCH] Handle only new messages during `RedrawRequested` --- winit/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winit/src/lib.rs b/winit/src/lib.rs index 7df52e8d..32c05649 100644 --- a/winit/src/lib.rs +++ b/winit/src/lib.rs @@ -831,6 +831,7 @@ async fn run_instance

( let mut change_count = 0; let state = loop { + let message_count = messages.len(); let (state, _) = interface.update( slice::from_ref(&redraw_event), cursor, @@ -841,7 +842,7 @@ async fn run_instance

( change_count += 1; - if messages.is_empty() + if message_count == messages.len() && !state.has_layout_changed() { break state;