From 1b51f42024ddb7a532b604f6a3c32c6c65d61a79 Mon Sep 17 00:00:00 2001 From: Jaex Date: Thu, 17 Mar 2016 11:25:43 +0200 Subject: [PATCH] Workaround for tray menu close issue --- ShareX/Forms/MainForm.Designer.cs | 1 + ShareX/Forms/MainForm.cs | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/ShareX/Forms/MainForm.Designer.cs b/ShareX/Forms/MainForm.Designer.cs index 8a8dcfe4b..57b71e26c 100644 --- a/ShareX/Forms/MainForm.Designer.cs +++ b/ShareX/Forms/MainForm.Designer.cs @@ -1804,6 +1804,7 @@ private void InitializeComponent() this.tsmiTrayExit.Image = global::ShareX.Properties.Resources.cross_button; this.tsmiTrayExit.Name = "tsmiTrayExit"; resources.ApplyResources(this.tsmiTrayExit, "tsmiTrayExit"); + this.tsmiTrayExit.Click += new System.EventHandler(this.tsmiTrayExit_Click); this.tsmiTrayExit.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tsmiTrayExit_MouseDown); // // timerTraySingleClick diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 5b47ac4d7..2c92bc945 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -43,7 +43,7 @@ public partial class MainForm : HotkeyForm { public bool IsReady { get; private set; } - private bool forceClose, firstUpdateCheck = true; + private bool forceClose, trayMenuSaveSettings = true, firstUpdateCheck = true; private UploadInfoManager uim; private ToolStripDropDownItem tsmiImageFileUploaders, tsmiTrayImageFileUploaders, tsmiTextFileUploaders, tsmiTrayTextFileUploaders; private System.Threading.Timer updateTimer; @@ -1317,19 +1317,23 @@ private void tsmiTrayShow_Click(object sender, EventArgs e) private void tsmiTrayExit_MouseDown(object sender, MouseEventArgs e) { - forceClose = true; + trayMenuSaveSettings = false; } private void cmsTray_Closed(object sender, ToolStripDropDownClosedEventArgs e) { - if (forceClose) - { - Close(); - } - else + if (trayMenuSaveSettings) { Program.SaveAllSettingsAsync(); } + + trayMenuSaveSettings = true; + } + + private void tsmiTrayExit_Click(object sender, EventArgs e) + { + forceClose = true; + Close(); } #endregion Tray events