From 633e6ab83fa019a75f7c7c94c55d04dc5650bd7b Mon Sep 17 00:00:00 2001 From: Hojjat Date: Mon, 10 Aug 2026 10:13:19 -0600 Subject: [PATCH] fix: request redraw if hovered state changes in segmented_button --- src/widget/segmented_button/widget.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/widget/segmented_button/widget.rs b/src/widget/segmented_button/widget.rs index ca877348..29c26362 100644 --- a/src/widget/segmented_button/widget.rs +++ b/src/widget/segmented_button/widget.rs @@ -1244,6 +1244,8 @@ where let my_bounds = layout.bounds(); let state = tree.state.downcast_mut::(); + let hovered_before = state.hovered; + let my_id = self.get_drag_id(); if let Event::Dnd(e) = &mut event { @@ -1916,6 +1918,10 @@ where shell.capture_event(); } } + + if hovered_before != state.hovered { + shell.request_redraw(); + } } fn operate( @@ -2764,7 +2770,7 @@ pub struct LocalState { drop_hint: Option, } -#[derive(Debug, Default, PartialEq)] +#[derive(Clone, Copy, Debug, Default, PartialEq)] enum Item { NextButton, #[default]