diff --git a/ShareX.HelpersLib/DebugHelper.cs b/ShareX.HelpersLib/DebugHelper.cs index 15c0e336d..0b997640c 100644 --- a/ShareX.HelpersLib/DebugHelper.cs +++ b/ShareX.HelpersLib/DebugHelper.cs @@ -70,5 +70,10 @@ public static void WriteException(Exception exception, string message = "Excepti { WriteException(exception.ToString(), message); } + + public static void Flush() + { + Logger?.ProcessMessageQueue(); + } } } \ No newline at end of file diff --git a/ShareX.HelpersLib/SingleInstanceManager.cs b/ShareX.HelpersLib/SingleInstanceManager.cs index 84c5a974e..61e724bc2 100644 --- a/ShareX.HelpersLib/SingleInstanceManager.cs +++ b/ShareX.HelpersLib/SingleInstanceManager.cs @@ -68,9 +68,6 @@ public SingleInstanceManager(bool isSingleInstance, string[] args) else { RedirectArgumentsToFirstInstance(args); - - DebugHelper.Logger.ProcessMessageQueue(); - Environment.Exit(0); } } catch (AbandonedMutexException) diff --git a/ShareX/Forms/QRCodeForm.Designer.cs b/ShareX/Forms/QRCodeForm.Designer.cs index c51494cdd..dee1da228 100644 --- a/ShareX/Forms/QRCodeForm.Designer.cs +++ b/ShareX/Forms/QRCodeForm.Designer.cs @@ -148,6 +148,7 @@ private void InitializeComponent() this.Controls.Add(this.nudQRCodeSize); this.Controls.Add(this.txtText); this.Name = "QRCodeForm"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.Shown += new System.EventHandler(this.QRCodeForm_Shown); this.Resize += new System.EventHandler(this.QRCodeForm_Resize); ((System.ComponentModel.ISupportInitialize)(this.nudQRCodeSize)).EndInit(); diff --git a/ShareX/Program.cs b/ShareX/Program.cs index ebc4aaafc..a52c03309 100644 --- a/ShareX/Program.cs +++ b/ShareX/Program.cs @@ -298,26 +298,33 @@ private static void Main(string[] args) MultiInstance = CLI.IsCommandExist("multi", "m"); using (SingleInstanceManager singleInstanceManager = new SingleInstanceManager(!MultiInstance, args)) - using (TimerResolutionManager timerResolutionManager = new TimerResolutionManager()) { - singleInstanceManager.ArgumentsReceived += SingleInstanceManager_ArgumentsReceived; - - Run(); - } - - if (restartRequested) - { - DebugHelper.WriteLine("ShareX restarting."); - - if (restartAsAdmin) + if (singleInstanceManager.IsFirstInstance) { - TaskHelpers.RunShareXAsAdmin("-silent"); - } - else - { - Process.Start(Application.ExecutablePath); + singleInstanceManager.ArgumentsReceived += SingleInstanceManager_ArgumentsReceived; + + using (TimerResolutionManager timerResolutionManager = new TimerResolutionManager()) + { + Run(); + } + + if (restartRequested) + { + DebugHelper.WriteLine("ShareX restarting."); + + if (restartAsAdmin) + { + TaskHelpers.RunShareXAsAdmin("-silent"); + } + else + { + Process.Start(Application.ExecutablePath); + } + } } } + + DebugHelper.Flush(); } private static void Run() @@ -383,7 +390,6 @@ public static void CloseSequence() SettingManager.SaveAllSettings(); DebugHelper.WriteLine("ShareX closed."); - DebugHelper.Logger.ProcessMessageQueue(); } }