Reduce consecutive RedrawRequested handled to 3

This commit is contained in:
Héctor Ramón Jiménez 2025-11-28 22:13:51 +01:00
parent e9f1ac2c2a
commit 3b9900aa27
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -842,7 +842,7 @@ async fn run_instance<P>(
.expect("Get user interface");
let interact_span = debug::interact(id);
let mut change_count = 0;
let mut redraw_count = 0;
let state = loop {
let message_count = messages.len();
@ -854,23 +854,23 @@ async fn run_instance<P>(
&mut messages,
);
change_count += 1;
if message_count == messages.len()
&& !state.has_layout_changed()
{
break state;
}
if change_count >= 10 {
if redraw_count >= 2 {
log::warn!(
"More than 10 consecutive RedrawRequested events \
"More than 3 consecutive RedrawRequested events \
produced layout invalidation"
);
break state;
}
redraw_count += 1;
if !messages.is_empty() {
let caches: FxHashMap<_, _> =
ManuallyDrop::into_inner(user_interfaces)