From b5d2b39c3ed8a78365a8b2c866ff09378844c756 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 3 Aug 2021 11:14:17 +0200 Subject: [PATCH] Fix `Control.GetChildAtRecursive` with overlapping controls --- Source/Engine/UI/GUI/ContainerControl.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Source/Engine/UI/GUI/ContainerControl.cs b/Source/Engine/UI/GUI/ContainerControl.cs index 3519469a2..9a57cf91c 100644 --- a/Source/Engine/UI/GUI/ContainerControl.cs +++ b/Source/Engine/UI/GUI/ContainerControl.cs @@ -301,8 +301,6 @@ namespace FlaxEngine.GUI for (int i = _children.Count - 1; i >= 0; i--) { var child = _children[i]; - - // Check collision if (IntersectsChildContent(child, point, out var childLocation)) { result = child; @@ -322,13 +320,10 @@ namespace FlaxEngine.GUI { if (isValid == null) throw new ArgumentNullException(nameof(isValid)); - Control result = null; for (int i = _children.Count - 1; i >= 0; i--) { var child = _children[i]; - - // Check collision if (isValid(child) && IntersectsChildContent(child, point, out var childLocation)) { result = child; @@ -349,8 +344,6 @@ namespace FlaxEngine.GUI for (int i = _children.Count - 1; i >= 0; i--) { var child = _children[i]; - - // Check collision if (IntersectsChildContent(child, point, out var childLocation)) { var containerControl = child as ContainerControl; @@ -360,6 +353,7 @@ namespace FlaxEngine.GUI child = childAtRecursive; } result = child; + break; } } return result;