Invalidate tooltip layout on mouse events

This commit is contained in:
Héctor Ramón Jiménez 2025-09-12 20:06:59 +02:00
parent f9de884655
commit 4cd35f7462
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -202,9 +202,8 @@ where
shell: &mut Shell<'_, Message>, shell: &mut Shell<'_, Message>,
viewport: &Rectangle, viewport: &Rectangle,
) { ) {
if let Event::Mouse(_) = event {
let state = tree.state.downcast_mut::<State>(); let state = tree.state.downcast_mut::<State>();
let previous_state = *state;
let was_idle = *state == State::Idle; let was_idle = *state == State::Idle;
*state = cursor *state = cursor
@ -214,11 +213,12 @@ where
let is_idle = *state == State::Idle; let is_idle = *state == State::Idle;
if was_idle != is_idle if was_idle != is_idle {
|| (self.position == Position::FollowCursor shell.invalidate_layout();
&& previous_state != *state)
{
shell.request_redraw(); shell.request_redraw();
} else if self.position == Position::FollowCursor {
shell.request_redraw();
}
} }
self.content.as_widget_mut().update( self.content.as_widget_mut().update(