From edbaaa60885c9d8cb4f42d329b7153d38ae2ec8d Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 3 Feb 2023 18:54:58 +0100 Subject: [PATCH] fix: dispose property cahnge --- src/PacketLogger/ViewModels/DocumentViewModel.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/PacketLogger/ViewModels/DocumentViewModel.cs b/src/PacketLogger/ViewModels/DocumentViewModel.cs index 8fe890556bf4f859535d310266261d94c5960666..6df7506752e2343392c68fddf9e6ab89a2350b74 100644 --- a/src/PacketLogger/ViewModels/DocumentViewModel.cs +++ b/src/PacketLogger/ViewModels/DocumentViewModel.cs @@ -39,6 +39,7 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable private readonly Action _onDocumentUnloaded; private CancellationTokenSource _ctSource; private IPacketProvider? _packetProvider; + private IDisposable? _cleanUp; /// /// Initializes a new instance of the class. @@ -130,7 +131,7 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable return; } - var provider = new CommsPacketProvider(connection); + var provider = new CommsPacketProvider(process, connection); _packetProvider = provider; repository.SetEntity(connection.Client, provider); @@ -145,7 +146,7 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable return; } - process.WhenPropertyChanged(x => x.CharacterString) + _cleanUp = process.WhenPropertyChanged(x => x.CharacterString) .ObserveOn(RxApp.MainThreadScheduler) .Do ( @@ -246,6 +247,7 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable /// public void Dispose() { + _cleanUp?.Dispose(); _ctSource.Cancel(); _ctSource.Dispose(); (NestedViewModel as IDisposable)?.Dispose();