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" Icon="avares://DiscordHistoryTracker/Resources/icon.ico"
Width="800" Height="500" Width="800" Height="500"
MinWidth="480" MinHeight="240" MinWidth="480" MinHeight="240"
WindowStartupLocation="CenterScreen"> WindowStartupLocation="CenterScreen"
Closed="OnClosed">
<Design.DataContext> <Design.DataContext>
<main:MainWindowModel /> <main:MainWindowModel />

View File

@ -1,3 +1,4 @@
using System;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using Avalonia; using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
@ -24,5 +25,11 @@ namespace DHT.Desktop.Main {
this.AttachDevTools(); this.AttachDevTools();
#endif #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; using DHT.Utils.Models;
namespace DHT.Desktop.Main { namespace DHT.Desktop.Main {
sealed class MainWindowModel : BaseModel { sealed class MainWindowModel : BaseModel, IDisposable {
private const string DefaultTitle = "Discord History Tracker"; private const string DefaultTitle = "Discord History Tracker";
public string Title { get; private set; } = DefaultTitle; public string Title { get; private set; } = DefaultTitle;
@ -104,5 +104,10 @@ namespace DHT.Desktop.Main {
private void MainContentScreenModelOnDatabaseClosed(object? sender, EventArgs e) { private void MainContentScreenModelOnDatabaseClosed(object? sender, EventArgs e) {
WelcomeScreenModel.CloseDatabase(); WelcomeScreenModel.CloseDatabase();
} }
public void Dispose() {
MainContentScreenModel?.Dispose();
db?.Dispose();
}
} }
} }

View File

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