From d8f08e78c6da4e9519d197943f2505a648a9c3e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 15 Aug 2025 22:37:50 +0200 Subject: [PATCH] Fix `tooltip` spamming redraw requests on `FollowCursor` --- widget/src/tooltip.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/widget/src/tooltip.rs b/widget/src/tooltip.rs index 8ef6280c..78543f7f 100644 --- a/widget/src/tooltip.rs +++ b/widget/src/tooltip.rs @@ -202,6 +202,7 @@ where ) { let state = tree.state.downcast_mut::(); + let previous_state = *state; let was_idle = *state == State::Idle; *state = cursor @@ -214,7 +215,9 @@ where if was_idle != is_idle { shell.invalidate_layout(); shell.request_redraw(); - } else if !is_idle && self.position == Position::FollowCursor { + } else if self.position == Position::FollowCursor + && previous_state != *state + { shell.request_redraw(); }