Skip to content

Commit 7d9d096

Browse files
fix Subscription not being disposed (#3105)
Co-authored-by: Glenn <[email protected]>
1 parent 80e3226 commit 7d9d096

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/ReactiveUI.Uwp/Common/ViewModelViewHost.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,17 @@ public ViewModelViewHost()
105105

106106
var contractChanged = this.WhenAnyObservable(x => x.ViewContractObservable).Do(x => _viewContract = x).StartWith(ViewContract);
107107
var viewModelChanged = this.WhenAnyValue(x => x.ViewModel).StartWith(ViewModel);
108-
109-
contractChanged
110-
.ObserveOn(RxApp.MainThreadScheduler)
111-
.Subscribe(x => _viewContract = x ?? string.Empty);
112-
113108
var vmAndContract = contractChanged
114109
.CombineLatest(viewModelChanged, (contract, vm) => (ViewModel: vm, Contract: contract));
115110

116-
this.WhenActivated(d => d(vmAndContract.DistinctUntilChanged().Subscribe(x => ResolveViewForViewModel(x.ViewModel, x.Contract))));
111+
this.WhenActivated(d =>
112+
{
113+
d(contractChanged
114+
.ObserveOn(RxApp.MainThreadScheduler)
115+
.Subscribe(x => _viewContract = x ?? string.Empty));
116+
117+
d(vmAndContract.DistinctUntilChanged().Subscribe(x => ResolveViewForViewModel(x.ViewModel, x.Contract)));
118+
});
117119
}
118120

119121
/// <summary>

0 commit comments

Comments
 (0)