From ef00200a69d154eb60e7fccc79e01d578ab8edc5 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 15 Sep 2015 12:43:37 +0200 Subject: [PATCH 1/2] Dispose all the things --- src/GitHub.UI.Reactive/Controls/SimpleViewUserControl.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/GitHub.UI.Reactive/Controls/SimpleViewUserControl.cs b/src/GitHub.UI.Reactive/Controls/SimpleViewUserControl.cs index 8bb5b79ee8..8121302377 100644 --- a/src/GitHub.UI.Reactive/Controls/SimpleViewUserControl.cs +++ b/src/GitHub.UI.Reactive/Controls/SimpleViewUserControl.cs @@ -66,6 +66,8 @@ protected virtual void Dispose(bool disposing) if (disposed) return; close.Dispose(); + cancel.Dispose(); + isBusy.Dispose(); disposed = true; } } From 4bed92e08d3d7374295270ecd2c9c6371e7b962f Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 15 Sep 2015 18:35:13 +0200 Subject: [PATCH 2/2] Explicitely dispose subscriptions --- src/GitHub.App/Controllers/UIController.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/GitHub.App/Controllers/UIController.cs b/src/GitHub.App/Controllers/UIController.cs index e297c3e36d..c4ebfa4792 100644 --- a/src/GitHub.App/Controllers/UIController.cs +++ b/src/GitHub.App/Controllers/UIController.cs @@ -160,22 +160,22 @@ void SetupView(UIViewType viewType, IView view) var dvm = factory.GetViewModel(UIViewType.TwoFactor); disposables.Add(dvm); var twofa = dvm.Value; - twofa.WhenAny(x => x.IsShowing, x => x.Value) + disposables.Add(twofa.WhenAny(x => x.IsShowing, x => x.Value) .Where(x => x) .ObserveOn(RxApp.MainThreadScheduler) - .Subscribe(_ => Fire(Trigger.Next)); + .Subscribe(_ => Fire(Trigger.Next))); - view.Done + disposables.Add(view.Done .ObserveOn(RxApp.MainThreadScheduler) - .Subscribe(_ => Fire(Trigger.Finish)); + .Subscribe(_ => Fire(Trigger.Finish))); } else if (viewType != UIViewType.TwoFactor) { - view.Done + disposables.Add(view.Done .ObserveOn(RxApp.MainThreadScheduler) - .Subscribe(_ => Fire(Trigger.Next)); + .Subscribe(_ => Fire(Trigger.Next))); } - view.Cancel.Subscribe(_ => Stop()); + disposables.Add(view.Cancel.Subscribe(_ => Stop())); } IView CreateViewAndViewModel(UIViewType viewType)