diff --git a/OpenRA.Game/Widgets/Widget.cs b/OpenRA.Game/Widgets/Widget.cs index 32a1f0ebcd..2f19e0a150 100644 --- a/OpenRA.Game/Widgets/Widget.cs +++ b/OpenRA.Game/Widgets/Widget.cs @@ -524,8 +524,10 @@ namespace OpenRA.Widgets public virtual void RemoveChildren() { - while (Children.Count > 0) - RemoveChild(Children[Children.Count - 1]); + foreach (var child in Children) + child?.Removed(); + + Children.Clear(); } public virtual void Hidden()