From fdcba7d8ececc35c09a7871b018930f752ac784b Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Wed, 28 Jan 2026 18:04:55 -0500 Subject: [PATCH] fix(segmented_button): dnd hover --- src/widget/segmented_button/widget.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/widget/segmented_button/widget.rs b/src/widget/segmented_button/widget.rs index 4f68b3d..e4f416b 100644 --- a/src/widget/segmented_button/widget.rs +++ b/src/widget/segmented_button/widget.rs @@ -966,6 +966,13 @@ where target: TAB_REORDER_LOG_TARGET, "offer enter id={my_id:?} entity={entity:?} @ ({x},{y}) mimes={mime_types:?}" ); + // force hovered state update + if let Some(entity) = entity { + state.hovered = Item::Tab(entity); + for key in self.model.order.iter().copied() { + self.update_entity_paragraph(state, key); + } + } let on_dnd_enter = self .on_dnd_enter @@ -1001,6 +1008,10 @@ where target: TAB_REORDER_LOG_TARGET, "offer leave id={my_id:?} entity={entity:?}" ); + state.hovered = Item::None; + for key in self.model.order.iter().copied() { + self.update_entity_paragraph(state, key); + } _ = state.dnd_state.on_leave::(None); } DndEvent::Offer(id, OfferEvent::Motion { x, y }) if Some(my_id) == *id => {