From e9766389c4da17d43aea7d24c871ef838a22a3d1 Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Thu, 19 Jan 2023 22:32:58 +0100 Subject: [PATCH] fix(segmented-button): hover style not being applied --- src/widget/segmented_button/model/mod.rs | 1 - src/widget/segmented_button/widget.rs | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/widget/segmented_button/model/mod.rs b/src/widget/segmented_button/model/mod.rs index 4f0cb672..434c95ad 100644 --- a/src/widget/segmented_button/model/mod.rs +++ b/src/widget/segmented_button/model/mod.rs @@ -11,7 +11,6 @@ mod selection; pub use self::selection::{MultiSelect, Selectable, SingleSelect}; use crate::widget::IconSource; -use crate::Element; use slotmap::{SecondaryMap, SlotMap}; use std::any::{Any, TypeId}; use std::borrow::Cow; diff --git a/src/widget/segmented_button/widget.rs b/src/widget/segmented_button/widget.rs index 312f5516..b12518e7 100644 --- a/src/widget/segmented_button/widget.rs +++ b/src/widget/segmented_button/widget.rs @@ -298,13 +298,13 @@ where let bounds = self.variant_button_bounds(bounds, nth); if bounds.contains(cursor_position) { if self.model.items[key].enabled { + // Record that the mouse is hovering over this button. + state.hovered = key; + if let Some(on_activate) = self.on_activate.as_ref() { if let Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) | Event::Touch(touch::Event::FingerLifted { .. }) = event { - // Record that the mouse is hovering over this button. - state.hovered = key; - shell.publish(on_activate(key)); return event::Status::Captured; }