From 72c13cbb58d67f2f70187fc7bb0dbf0431bc36e1 Mon Sep 17 00:00:00 2001 From: chylex Date: Sun, 6 Mar 2022 15:22:03 +0100 Subject: [PATCH] Fix more database disposal issues --- app/Desktop/Main/MainWindowModel.cs | 2 ++ app/Desktop/Main/WelcomeScreenModel.cs | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/Desktop/Main/MainWindowModel.cs b/app/Desktop/Main/MainWindowModel.cs index b933659..0d99787 100644 --- a/app/Desktop/Main/MainWindowModel.cs +++ b/app/Desktop/Main/MainWindowModel.cs @@ -106,8 +106,10 @@ namespace DHT.Desktop.Main { } public void Dispose() { + WelcomeScreenModel.Dispose(); MainContentScreenModel?.Dispose(); db?.Dispose(); + db = null; } } } diff --git a/app/Desktop/Main/WelcomeScreenModel.cs b/app/Desktop/Main/WelcomeScreenModel.cs index f574337..6a02c2e 100644 --- a/app/Desktop/Main/WelcomeScreenModel.cs +++ b/app/Desktop/Main/WelcomeScreenModel.cs @@ -8,7 +8,7 @@ using DHT.Server.Database; using DHT.Utils.Models; namespace DHT.Desktop.Main { - sealed class WelcomeScreenModel : BaseModel { + sealed class WelcomeScreenModel : BaseModel, IDisposable { public string Version => Program.Version; public IDatabaseFile? Db { get; private set; } @@ -52,8 +52,7 @@ namespace DHT.Desktop.Main { } public void CloseDatabase() { - Db = null; - + Dispose(); OnPropertyChanged(nameof(Db)); OnPropertyChanged(nameof(HasDatabase)); } @@ -65,5 +64,10 @@ namespace DHT.Desktop.Main { public void Exit() { window.Close(); } + + public void Dispose() { + Db?.Dispose(); + Db = null; + } } }