From 6f16580b8a23a14704627f28164c2b06f80422df Mon Sep 17 00:00:00 2001 From: Gabriel Bourgeois Date: Thu, 7 Apr 2022 19:08:09 +0000 Subject: [PATCH] Fix clicked UI nodes getting reset when hovering child nodes (#4194) # Objective Fixes #4193 ## Solution When resetting a node's `Interaction` to `None`, ignore any `Clicked` node because that should be handled by the mouse release check exclusively. --- crates/bevy_ui/src/focus.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/bevy_ui/src/focus.rs b/crates/bevy_ui/src/focus.rs index bf01512d57..fe8e072a04 100644 --- a/crates/bevy_ui/src/focus.rs +++ b/crates/bevy_ui/src/focus.rs @@ -169,7 +169,8 @@ pub fn ui_focus_system( // reset lower nodes to None for (_entity, _focus_policy, interaction, _) in moused_over_z_sorted_nodes { if let Some(mut interaction) = interaction { - if *interaction != Interaction::None { + // don't reset clicked nodes because they're handled separately + if *interaction != Interaction::Clicked && *interaction != Interaction::None { *interaction = Interaction::None; } }