diff --git a/Source/SpiderEye.Mac/CocoaWebview.cs b/Source/SpiderEye.Mac/CocoaWebview.cs index 39f1ddc8..4df31dd8 100644 --- a/Source/SpiderEye.Mac/CocoaWebview.cs +++ b/Source/SpiderEye.Mac/CocoaWebview.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Runtime.InteropServices; using System.Threading.Tasks; @@ -105,10 +105,9 @@ public void LoadUri(Uri uri) ObjC.Call(Handle, "loadRequest:", request); } - public Task ExecuteScriptAsync(string script) + public async Task ExecuteScriptAsync(string script) { var taskResult = new TaskCompletionSource(); - NSBlock? block = null; ScriptEvalCallbackDelegate callback = (IntPtr self, IntPtr result, IntPtr error) => { @@ -126,17 +125,16 @@ public void LoadUri(Uri uri) } } catch (Exception ex) { taskResult.TrySetException(ex); } - finally { block!.Dispose(); } }; - block = new NSBlock(callback); + using NSBlock block = new NSBlock(callback); ObjC.Call( Handle, "evaluateJavaScript:completionHandler:", NSString.Create(script), block.Handle); - return taskResult.Task; + return await taskResult.Task; } public void Dispose()