From 88f3b00d9625a3dd08ebaadb328fd119957fcd85 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Wed, 11 Mar 2026 22:31:34 -0400 Subject: [PATCH] fix(mouse_area): avoid processing a double click twice --- widget/src/mouse_area.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/widget/src/mouse_area.rs b/widget/src/mouse_area.rs index 1f62c6ec..3d355c52 100644 --- a/widget/src/mouse_area.rs +++ b/widget/src/mouse_area.rs @@ -475,7 +475,11 @@ fn update( if new_click.kind() == mouse::click::Kind::Double && let Some(double_press) = widget.on_double_press.as_ref() { + state.drag_initiated = None; shell.publish(double_press.clone()); + shell.capture_event(); + state.last_press = Some(new_click); + return; } else if let Some(on_press_message) = widget.on_press.as_ref() { shell.publish(on_press_message.clone()); } @@ -502,6 +506,9 @@ fn update( && let Some(double_press) = widget.on_double_click.as_ref() { shell.publish(double_press.clone()); + shell.capture_event(); + state.previous_click = Some(new_click); + return; } else if let Some(on_press_message) = widget.on_release.as_ref() { shell.publish(on_press_message.clone()); }