Handle changes during RedrawRequested in the same frame

This commit is contained in:
Héctor Ramón Jiménez 2025-10-15 19:08:39 +02:00
parent 869891bbf0
commit d2e192042f
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
4 changed files with 98 additions and 44 deletions

View file

@ -28,6 +28,7 @@ use crate::core::overlay;
use crate::core::renderer;
use crate::core::text;
use crate::core::widget::{self, Widget};
use crate::core::window;
use crate::core::{
Clipboard, Element, Event, Length, Padding, Pixels, Point, Rectangle,
Shell, Size, Vector,
@ -201,7 +202,9 @@ where
shell: &mut Shell<'_, Message>,
viewport: &Rectangle,
) {
if let Event::Mouse(_) = event {
if let Event::Mouse(_)
| Event::Window(window::Event::RedrawRequested(_)) = event
{
let state = tree.state.downcast_mut::<State>();
let previous_state = *state;
let was_idle = *state == State::Idle;