diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs index 624274cc96..34278c397f 100644 --- a/src/Avalonia.Base/AvaloniaObject.cs +++ b/src/Avalonia.Base/AvaloniaObject.cs @@ -603,8 +603,7 @@ namespace Avalonia setterCallback((T)val, ref backing, notify); return true; }, - value, - (object o, ref T backing) => !object.Equals(o, backing)); + value); } /// diff --git a/src/Avalonia.Base/PriorityValue.cs b/src/Avalonia.Base/PriorityValue.cs index 6b82b202be..9b5318083a 100644 --- a/src/Avalonia.Base/PriorityValue.cs +++ b/src/Avalonia.Base/PriorityValue.cs @@ -246,9 +246,7 @@ namespace Avalonia delayedSetter.SetAndNotify(this, ref _value, UpdateCore, - (value, priority), - ((object value, int) val, ref (object value, int) backing) - => !object.Equals(val.value, backing.value)); + (value, priority)); } private bool UpdateCore( diff --git a/src/Avalonia.Base/Utilities/DeferredSetter.cs b/src/Avalonia.Base/Utilities/DeferredSetter.cs index 2c8c7f8887..957bcdc942 100644 --- a/src/Avalonia.Base/Utilities/DeferredSetter.cs +++ b/src/Avalonia.Base/Utilities/DeferredSetter.cs @@ -103,7 +103,6 @@ namespace Avalonia.Utilities } public delegate bool SetterDelegate(TSetRecord record, ref TValue backing, Action notifyCallback); - public delegate bool PendingSetPredicate(TSetRecord record, ref TValue backing); /// /// Set the property and notify listeners while ensuring we don't get into a stack overflow as happens with #855 and #824 @@ -120,15 +119,13 @@ namespace Avalonia.Utilities TProperty property, ref TValue backing, SetterDelegate setterCallback, - TSetRecord value, - PendingSetPredicate pendingSetCondition) + TSetRecord value) { Contract.Requires(setterCallback != null); - Contract.Requires(pendingSetCondition != null); if (!IsNotifying(property)) { bool updated = false; - if (pendingSetCondition(value, ref backing)) + if (!object.Equals(value, backing)) { updated = setterCallback(value, ref backing, notification => { @@ -150,7 +147,7 @@ namespace Avalonia.Utilities } return updated; } - else if(pendingSetCondition(value, ref backing)) + else if(!object.Equals(value, backing)) { AddPendingSet(property, value); }