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]