Compare commits

..

2 Commits

Author SHA1 Message Date
chylex
6d3db23f80
Fix not manually disposing of resources when the app window is closed 2022-03-05 13:36:04 +01:00
chylex
4bc9626013
Add name to server management thread 2022-03-05 13:36:04 +01:00
4 changed files with 17 additions and 3 deletions

View File

@ -9,7 +9,8 @@
Icon="avares://DiscordHistoryTracker/Resources/icon.ico"
Width="800" Height="500"
MinWidth="480" MinHeight="240"
WindowStartupLocation="CenterScreen">
WindowStartupLocation="CenterScreen"
Closed="OnClosed">
<Design.DataContext>
<main:MainWindowModel />

View File

@ -1,3 +1,4 @@
using System;
using System.Diagnostics.CodeAnalysis;
using Avalonia;
using Avalonia.Controls;
@ -24,5 +25,11 @@ namespace DHT.Desktop.Main {
this.AttachDevTools();
#endif
}
public void OnClosed(object? sender, EventArgs e) {
if (DataContext is IDisposable disposable) {
disposable.Dispose();
}
}
}
}

View File

@ -10,7 +10,7 @@ using DHT.Server.Database;
using DHT.Utils.Models;
namespace DHT.Desktop.Main {
sealed class MainWindowModel : BaseModel {
sealed class MainWindowModel : BaseModel, IDisposable {
private const string DefaultTitle = "Discord History Tracker";
public string Title { get; private set; } = DefaultTitle;
@ -104,5 +104,10 @@ namespace DHT.Desktop.Main {
private void MainContentScreenModelOnDatabaseClosed(object? sender, EventArgs e) {
WelcomeScreenModel.CloseDatabase();
}
public void Dispose() {
MainContentScreenModel?.Dispose();
db?.Dispose();
}
}
}

View File

@ -12,7 +12,7 @@ using Microsoft.Extensions.DependencyInjection;
namespace DHT.Server.Service {
public static class ServerLauncher {
private static readonly Log Log = Log.ForType(typeof(ServerLauncher));
private static IWebHost? Server { get; set; } = null;
public static bool IsRunning { get; private set; }
@ -29,6 +29,7 @@ namespace DHT.Server.Service {
try {
if (ManagementThread == null) {
ManagementThread = new Thread(RunManagementThread) {
Name = "DHT server management thread",
IsBackground = true
};
ManagementThread.Start();