mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 09:17:36 +13:00
Fixed unhandled exception in SingleInstanceManager
This commit is contained in:
parent
e6a2ac818e
commit
c3b27567dc
3 changed files with 19 additions and 11 deletions
|
@ -68,7 +68,7 @@ protected void OnMessageAdded(string message)
|
||||||
MessageAdded?.Invoke(message);
|
MessageAdded?.Invoke(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ProcessMessageQueue()
|
public void ProcessMessageQueue()
|
||||||
{
|
{
|
||||||
lock (loggerLock)
|
lock (loggerLock)
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,6 +69,7 @@ public SingleInstanceManager(bool isSingleInstance, string[] args)
|
||||||
{
|
{
|
||||||
RedirectArgumentsToFirstInstance(args);
|
RedirectArgumentsToFirstInstance(args);
|
||||||
|
|
||||||
|
DebugHelper.Logger.ProcessMessageQueue();
|
||||||
Environment.Exit(0);
|
Environment.Exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,12 +126,14 @@ private async Task ListenForConnectionsAsync()
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
DebugHelper.WriteLine("Error in named pipe communication: {0}", e.Message);
|
DebugHelper.WriteException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RedirectArgumentsToFirstInstance(string[] args)
|
private void RedirectArgumentsToFirstInstance(string[] args)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
using (NamedPipeClientStream clientPipe = new NamedPipeClientStream(".", PipeName, PipeDirection.Out))
|
using (NamedPipeClientStream clientPipe = new NamedPipeClientStream(".", PipeName, PipeDirection.Out))
|
||||||
{
|
{
|
||||||
|
@ -147,6 +150,11 @@ private void RedirectArgumentsToFirstInstance(string[] args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
DebugHelper.WriteException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
|
|
|
@ -377,13 +377,13 @@ public static void CloseSequence()
|
||||||
{
|
{
|
||||||
closeSequenceStarted = true;
|
closeSequenceStarted = true;
|
||||||
|
|
||||||
DebugHelper.Logger.AsyncWrite = false;
|
|
||||||
DebugHelper.WriteLine("ShareX closing.");
|
DebugHelper.WriteLine("ShareX closing.");
|
||||||
|
|
||||||
if (WatchFolderManager != null) WatchFolderManager.Dispose();
|
WatchFolderManager?.Dispose();
|
||||||
SettingManager.SaveAllSettings();
|
SettingManager.SaveAllSettings();
|
||||||
|
|
||||||
DebugHelper.WriteLine("ShareX closed.");
|
DebugHelper.WriteLine("ShareX closed.");
|
||||||
|
DebugHelper.Logger.ProcessMessageQueue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue