summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrake.Interop/Interop/HandBrakeUtils.cs16
1 files changed, 11 insertions, 5 deletions
diff --git a/win/CS/HandBrake.Interop/Interop/HandBrakeUtils.cs b/win/CS/HandBrake.Interop/Interop/HandBrakeUtils.cs
index 7f36a406c..9c499c9c5 100644
--- a/win/CS/HandBrake.Interop/Interop/HandBrakeUtils.cs
+++ b/win/CS/HandBrake.Interop/Interop/HandBrakeUtils.cs
@@ -13,6 +13,7 @@ namespace HandBrake.Interop.Interop
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Runtime.CompilerServices;
+ using System.Runtime.ExceptionServices;
using System.Runtime.InteropServices;
using HandBrake.Interop.Interop.EventArgs;
@@ -64,11 +65,7 @@ namespace HandBrake.Interop.Interop
{
try
{
-
- if (HBFunctions.hb_global_init() == -1)
- {
- throw new InvalidOperationException("HB global init failed.");
- }
+ TryInit();
}
catch (Exception e)
{
@@ -88,6 +85,15 @@ namespace HandBrake.Interop.Interop
}
}
+ [HandleProcessCorruptedStateExceptions]
+ static void TryInit()
+ {
+ if (HBFunctions.hb_global_init() == -1)
+ {
+ throw new InvalidOperationException("HB global init failed.");
+ }
+ }
+
/// <summary>
/// Ensures the HB global initialize method has been called.
/// </summary>