diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 86b01d3..529cb55 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -29,7 +29,7 @@ namespace EliteBGS { public Report Report => report; - private LoadEntriesWindow loadentries = new LoadEntriesWindow(); + private LoadEntriesWindow loadentries = null; private static readonly List logtypes = new List() { new NonaDiscordLog(), @@ -45,8 +45,6 @@ namespace EliteBGS { /* ignored */ } - loadentries.EntriesLoaded += Loadentries_EntriesLoaded; - report.OnLog += Report_OnLog; foreach (DiscordLogGenerator type in logtypes) { @@ -338,11 +336,24 @@ namespace EliteBGS { } private void ManuallyParse_Click(object sender, RoutedEventArgs e) { + if (loadentries != null) { + loadentries.Show(); + return; + } + + loadentries = new LoadEntriesWindow(); + loadentries.Closed += Loadentries_Closed; + loadentries.EntriesLoaded += Loadentries_EntriesLoaded; loadentries.Show(); } + private void Loadentries_Closed(object sender, EventArgs e) { + loadentries = null; + } + private void window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { - loadentries.Close(); + loadentries?.Close(); + loadentries = null; } } }