From 69d074e123f37179fded2b51a53f3673f65e785f Mon Sep 17 00:00:00 2001 From: Jason Rodney Hansen Date: Tue, 31 Dec 2024 16:22:46 -0700 Subject: [PATCH] Close menu for any mouse button on click_outside condition --- src/widget/menu/menu_inner.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/widget/menu/menu_inner.rs b/src/widget/menu/menu_inner.rs index 19644b7a..b64fba2c 100644 --- a/src/widget/menu/menu_inner.rs +++ b/src/widget/menu/menu_inner.rs @@ -579,7 +579,7 @@ where .merge(menu_status) } - Mouse(ButtonReleased(Left)) | Touch(FingerLifted { .. }) => { + Mouse(ButtonReleased(_)) | Touch(FingerLifted { .. }) => { let state = self.tree.state.downcast_mut::(); state.pressed = false; @@ -596,7 +596,13 @@ where .iter() .any(|ms| ms.menu_bounds.check_bounds.contains(overlay_cursor)); - if self.close_condition.click_inside && is_inside { + if self.close_condition.click_inside + && is_inside + && matches!( + event, + Mouse(ButtonReleased(Left)) | Touch(FingerLifted { .. }) + ) + { state.reset(); return Captured; }