From 5062605962fe3807bcfa2ca1f401a8b8a258fac4 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Fri, 24 Apr 2015 12:21:28 -0400 Subject: [PATCH] Fixed window closing code (hopefully once and for all) --- .../MainWindow.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs index f7a68ce9..551d3085 100644 --- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs +++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs @@ -1570,11 +1570,15 @@ namespace UniversalEditor.UserInterface.WindowsForms { base.OnClosing(e); - if (!WindowsFormsEngine.SessionLoading && Engine.CurrentEngine.Windows.Count == 0) + if (!WindowsFormsEngine.SessionLoading && Engine.CurrentEngine.Windows.Count == 1) { if (Engine.CurrentEngine.ConfigurationManager.GetValue(new string[] { "Application", "ConfirmExit" }, false)) { - if (MessageBox.Show("Are you sure you wish to quit " + Engine.CurrentEngine.DefaultLanguage.GetStringTableEntry("ApplicationTitle") + "?", "Quit Application", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) return; + if (MessageBox.Show("Are you sure you wish to quit " + Engine.CurrentEngine.DefaultLanguage.GetStringTableEntry("ApplicationTitle") + "?", "Quit Application", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) + { + e.Cancel = true; + return; + } } } @@ -1650,6 +1654,12 @@ namespace UniversalEditor.UserInterface.WindowsForms { base.OnClosed(e); if (WindowClosed != null) WindowClosed(this, e); + + if (Engine.CurrentEngine.Windows.Count == 0) + { + // there are no more windows, so exit the application + Application.Exit(); + } } #endregion #region Menu Bar