From 2a4cb2c3f6399146f03469745ebd3c70136b6546 Mon Sep 17 00:00:00 2001 From: Dariusz Komosinski Date: Tue, 19 Feb 2019 11:45:40 +0100 Subject: [PATCH] Fix Style subscriptions not being removed at all. --- src/Avalonia.Styling/Styling/Style.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Styling/Styling/Style.cs b/src/Avalonia.Styling/Styling/Style.cs index 27fad58346..d799df7ac9 100644 --- a/src/Avalonia.Styling/Styling/Style.cs +++ b/src/Avalonia.Styling/Styling/Style.cs @@ -143,6 +143,7 @@ namespace Avalonia.Styling } controlSubscriptions.Add(subs); + controlSubscriptions.Add(Disposable.Create(() => Subscriptions.Remove(subs))); Subscriptions.Add(subs); } @@ -159,8 +160,9 @@ namespace Avalonia.Styling var sub = setter.Apply(this, control, null); subs.Add(sub); } - + controlSubscriptions.Add(subs); + controlSubscriptions.Add(Disposable.Create(() => Subscriptions.Remove(subs))); Subscriptions.Add(subs); return true; } @@ -223,7 +225,7 @@ namespace Avalonia.Styling { if (!_applied.TryGetValue(control, out var subscriptions)) { - subscriptions = new CompositeDisposable(2); + subscriptions = new CompositeDisposable(3); subscriptions.Add(control.StyleDetach.Subscribe(ControlDetach)); _applied.Add(control, subscriptions); }