diff --git a/Artemis/Artemis/Profiles/Layers/Types/AngularBrush/Drawing/GradientDrawer.cs b/Artemis/Artemis/Profiles/Layers/Types/AngularBrush/Drawing/GradientDrawer.cs index dd41a7a0c..36ea1fe51 100644 --- a/Artemis/Artemis/Profiles/Layers/Types/AngularBrush/Drawing/GradientDrawer.cs +++ b/Artemis/Artemis/Profiles/Layers/Types/AngularBrush/Drawing/GradientDrawer.cs @@ -33,7 +33,7 @@ namespace Artemis.Profiles.Layers.Types.AngularBrush.Drawing { set { - int hash = value.GetHashCode(); + int hash = GetHash(value); if (_lastGradientHash != hash) { _gradientStops = FixGradientStops(value); @@ -176,6 +176,14 @@ namespace Artemis.Profiles.Layers.Types.AngularBrush.Drawing return stops; } + private static int GetHash(IList> sequence) + { + unchecked + { + return sequence.Aggregate(487, (current, item) => (((current * 31) + item.Item1.GetHashCode()) * 31) + item.Item2.GetHashCode()); + } + } + #endregion } }