jchv / go-webview2

WebView2 bindings for pure Go, without CGo, based on the webview/webview bindings.
Other
264 stars 64 forks source link

Using CGO_ENABLED=1 causes GetAvailableCoreWebView2BrowserVersionString to crash #49

Open leaanthony opened 2 years ago

leaanthony commented 2 years ago

I'm looking to make a small, reproducible example but am opening this issue preemptively as there's a lot of detail on the linked issue: https://github.com/wailsapp/wails/issues/1569

Crux of the issue is it seems CGO interferes with the way go-winloader works. I'll update as I get more details. Cheers!

jchv commented 2 years ago

I hope we can fix this, but I did always dislike the complexity of having to ship go-winloader like this. I should probably attempt to port OpenWebView2Loader to Go at some point; it would still involve some unsafety, but only as much as we ordinarily need for messing with COM, rather than the violently unsafe stuff that go-winloader does.

stffabi commented 2 years ago

Initial work has been started in the Wails repo to port OpenWebView2Loader to Go. As a first step it's only used for GetAvailableCoreWebView2BrowserVersionString with a fixed runtime path, since that's the current issue for Wails.

More work is going on to fully port it to Go in the future. Just wanted to bring this up here, so we won't end up in doing the same work multiple times.