From 70f8276808ba63c8d1256e65cf61566baaeb8b56 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Wed, 12 Jun 2024 17:05:57 +0200 Subject: [PATCH] MainWindow: Fix crash on closing, when other window is in editing or creating mode --- Elwig/Windows/AdministrationWindow.cs | 4 ++-- Elwig/Windows/MainWindow.xaml.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs index 7f44d91..1075f88 100644 --- a/Elwig/Windows/AdministrationWindow.cs +++ b/Elwig/Windows/AdministrationWindow.cs @@ -19,14 +19,14 @@ namespace Elwig.Windows { private bool _isEditing; private bool _isCreating; - protected bool IsEditing { + public bool IsEditing { get { return _isEditing; } set { _isEditing = value; LockContext = IsEditing || IsCreating; } } - protected bool IsCreating { + public bool IsCreating { get { return _isCreating; } set { _isCreating = value; diff --git a/Elwig/Windows/MainWindow.xaml.cs b/Elwig/Windows/MainWindow.xaml.cs index 1f5dbaa..a89c574 100644 --- a/Elwig/Windows/MainWindow.xaml.cs +++ b/Elwig/Windows/MainWindow.xaml.cs @@ -35,7 +35,7 @@ namespace Elwig.Windows { } private void Window_Closing(object sender, CancelEventArgs evt) { - if (App.NumWindows > 1 && !App.ForceShutdown) { + if (App.NumWindows > 1 && !App.ForceShutdown && !App.Current.Windows.Cast().Any(w => ((w as AdministrationWindow)?.IsEditing ?? false) || ((w as AdministrationWindow)?.IsCreating ?? false))) { var res = MessageBox.Show("Es sind noch weitere Fenster geƶffnet.\nSollen alle Fenster geschlossen werden?", "Elwig beenden", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No); if (res != MessageBoxResult.Yes) {