From d011be6feb65c44c9a2f188219c20039c73e2414 Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Mon, 24 Mar 2025 04:27:41 +0100 Subject: [PATCH] fix(button): unfocus on click to prevent multiple focused buttons --- src/widget/button/widget.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/widget/button/widget.rs b/src/widget/button/widget.rs index 3a1df24..bbf5e82 100644 --- a/src/widget/button/widget.rs +++ b/src/widget/button/widget.rs @@ -724,12 +724,14 @@ pub fn update<'a, Message: Clone>( match event { Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) | Event::Touch(touch::Event::FingerPressed { .. }) => { + // Unfocus the button on clicks in case another widget was clicked. + let state = state(); + state.unfocus(); + if on_press.is_some() || on_press_down.is_some() { let bounds = layout.bounds(); if cursor.is_over(bounds) { - let state = state(); - state.is_pressed = true; if let Some(on_press_down) = on_press_down {