From c6dab8b57897a342d83617a724fd599263f94d4f Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 22 Jul 2022 10:57:19 +0200 Subject: [PATCH] Throw for duplicate setters in styles. And remove the duplicate setter that we have. --- src/Avalonia.Base/Styling/StyleInstance.cs | 7 ++++++- src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Base/Styling/StyleInstance.cs b/src/Avalonia.Base/Styling/StyleInstance.cs index e56d09838a..5823f76cec 100644 --- a/src/Avalonia.Base/Styling/StyleInstance.cs +++ b/src/Avalonia.Base/Styling/StyleInstance.cs @@ -45,7 +45,12 @@ namespace Avalonia.Styling public void Add(ISetterInstance instance) { if (instance is IValueEntry valueEntry) - base.Add(valueEntry); + { + if (Contains(valueEntry.Property)) + throw new InvalidOperationException( + $"Duplicate setter encountered for property '{valueEntry.Property}' in '{Source}'."); + Add(valueEntry); + } else (_setters ??= new()).Add(instance); } diff --git a/src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml b/src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml index 836cc27db3..26c3cd87f3 100644 --- a/src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml @@ -53,7 +53,6 @@