From b6a5d198713434fdf6fe4ee3a1d386e820fcb99b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 5 Aug 2023 13:02:17 +0200 Subject: [PATCH] Evaluate read only dictionaries. --- .../Widgets/Logic/Settings/DisplaySettingsLogic.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Settings/DisplaySettingsLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Settings/DisplaySettingsLogic.cs index faf79ddbae..fa5094e54c 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Settings/DisplaySettingsLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Settings/DisplaySettingsLogic.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using OpenRA.Graphics; using OpenRA.Mods.Common.Traits; @@ -510,8 +511,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic { "PARENT_BOTTOM", parentBounds.Height } }; - var width = w.Width.Evaluate(substitutions); - var height = w.Height.Evaluate(substitutions); + var readOnlySubstitutions = new ReadOnlyDictionary(substitutions); + var width = w.Width != null ? w.Width.Evaluate(readOnlySubstitutions) : 0; + var height = w.Height != null ? w.Height.Evaluate(readOnlySubstitutions) : 0; substitutions.Add("WIDTH", width); substitutions.Add("HEIGHT", height); @@ -520,8 +522,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic w.Bounds = new Rectangle(w.Bounds.X, w.Bounds.Y, width, w.Bounds.Height); else w.Bounds = new Rectangle( - w.X.Evaluate(substitutions), - w.Y.Evaluate(substitutions), + w.X != null ? w.X.Evaluate(readOnlySubstitutions) : 0, + w.Y != null ? w.Y.Evaluate(readOnlySubstitutions) : 0, width, height);