mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-08 04:07:40 +02:00
Fix a clipboard crash issues & don't default exit Wox when exception happens.
This commit is contained in:
@@ -49,8 +49,16 @@ namespace Wox.Plugin.SystemPlugins
|
|||||||
SubTitle = "Copy this number to the clipboard",
|
SubTitle = "Copy this number to the clipboard",
|
||||||
Action = (c) =>
|
Action = (c) =>
|
||||||
{
|
{
|
||||||
Clipboard.SetText(result.Result);
|
try
|
||||||
return true;
|
{
|
||||||
|
Clipboard.SetText(result.Result);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (System.Runtime.InteropServices.ExternalException e)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Copy failed, please try later");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} };
|
} };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,26 +27,22 @@ namespace Wox.Helper.ErrorReporting
|
|||||||
|
|
||||||
public static void DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
|
public static void DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
|
||||||
{
|
{
|
||||||
if (System.Diagnostics.Debugger.IsAttached) return;
|
if (Debugger.IsAttached) return;
|
||||||
|
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
string error = CreateExceptionReport("System.Windows.Application.DispatcherUnhandledException", e.Exception);
|
string error = CreateExceptionReport("System.Windows.Application.DispatcherUnhandledException", e.Exception);
|
||||||
|
|
||||||
Log.Error(error);
|
Log.Error(error);
|
||||||
if (TryShowErrorMessageBox(error, e.Exception))
|
TryShowErrorMessageBox(error, e.Exception);
|
||||||
{
|
|
||||||
Environment.Exit(0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
public static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
||||||
{
|
{
|
||||||
if (System.Diagnostics.Debugger.IsAttached) return;
|
if (Debugger.IsAttached) return;
|
||||||
|
|
||||||
string error = CreateExceptionReport("System.Windows.Forms.Application.ThreadException", e.Exception);
|
string error = CreateExceptionReport("System.Windows.Forms.Application.ThreadException", e.Exception);
|
||||||
|
|
||||||
Log.Fatal(error);
|
Log.Fatal(error);
|
||||||
TryShowErrorMessageBox(error, e.Exception);
|
TryShowErrorMessageBox(error, e.Exception);
|
||||||
Environment.Exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string CreateExceptionReport(string ev, object exceptionObject)
|
private static string CreateExceptionReport(string ev, object exceptionObject)
|
||||||
@@ -97,7 +93,7 @@ namespace Wox.Helper.ErrorReporting
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
sb.AppendLine(exceptionObject.GetType().FullName);
|
sb.AppendLine(exceptionObject.GetType().FullName);
|
||||||
sb.AppendLine(new System.Diagnostics.StackTrace().ToString());
|
sb.AppendLine(new StackTrace().ToString());
|
||||||
sb.AppendLine("```");
|
sb.AppendLine("```");
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user