diff --git a/widget/src/mouse_area.rs b/widget/src/mouse_area.rs index 1ce5001858..6e894c618b 100644 --- a/widget/src/mouse_area.rs +++ b/widget/src/mouse_area.rs @@ -506,11 +506,11 @@ fn update( } } - if let Some(message) = widget.on_release.as_ref() { - if let Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) - | Event::Touch(touch::Event::FingerLifted { .. }) = event - { - state.drag_initiated = None; + if let Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) + | Event::Touch(touch::Event::FingerLifted { .. }) = event + { + state.drag_initiated = None; + if let Some(message) = widget.on_release.as_ref() { shell.publish(message.clone()); return event::Status::Captured;