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;