From 81a5380f67800f2a134b3773dd78b684cfe1f8e6 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Fri, 9 Jun 2023 20:33:52 +1000 Subject: [PATCH] [v3 windows] Handle null result from callbacks. Call results should respond on main thread. --- v3/pkg/application/messageprocessor_call.go | 13 ++++++++----- v3/pkg/application/webview_window_windows.go | 4 +++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/v3/pkg/application/messageprocessor_call.go b/v3/pkg/application/messageprocessor_call.go index ddbddd37f..51dcc9423 100644 --- a/v3/pkg/application/messageprocessor_call.go +++ b/v3/pkg/application/messageprocessor_call.go @@ -49,11 +49,14 @@ func (m *MessageProcessor) processCallMethod(method string, rw http.ResponseWrit m.callErrorCallback(window, "Error calling method: %s", callID, err) return } - // convert result to json - jsonResult, err := json.Marshal(result) - if err != nil { - m.callErrorCallback(window, "Error converting result to json: %s", callID, err) - return + var jsonResult = []byte("{}") + if result != nil { + // convert result to json + jsonResult, err = json.Marshal(result) + if err != nil { + m.callErrorCallback(window, "Error converting result to json: %s", callID, err) + return + } } m.callCallback(window, callID, string(jsonResult), true) }() diff --git a/v3/pkg/application/webview_window_windows.go b/v3/pkg/application/webview_window_windows.go index cdc412fd1..11bd9842b 100644 --- a/v3/pkg/application/webview_window_windows.go +++ b/v3/pkg/application/webview_window_windows.go @@ -90,7 +90,9 @@ func (w *windowsWebviewWindow) setMaxSize(width, height int) { } func (w *windowsWebviewWindow) execJS(js string) { - w.chromium.Eval(js) + invokeSync(func() { + w.chromium.Eval(js) + }) } func (w *windowsWebviewWindow) setBackgroundColour(color RGBA) {