You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am helping with development of two audio plugins, let's call them A and B for simplicity. When I load in A and then B with the WebView of A still open, the WebView of B is blank. Loading them by themselves has no issues. Also note that if I run multiple instances of B the issue does not occur.
When doing some digging, I saw that the constructor of choc::ui::Webview is failing.
The following code prints out false.
After doing some more digging I noticed that the PIMPL constructor is failing.
The line hwnd = windowClass.createWindow (WS_POPUP, 400, 400, this); returns a null pointer. This can be fixed by changing the first parameter of WindowClass windowClass { L"CHOCWebView", (WNDPROC) wndProc }; to something unique. WindowClass windowClass { L"CHOCWebView", (WNDPROC) wndProc }; -> WindowClass windowClass { L"CHOCWebViewB", (WNDPROC) wndProc };. This fixes when hwnd is null, but it unfortunately doesn't fix the entire issue.
Now the issue is that createEmbeddedWebView() is returning false because coreWebView is null. After doing some tracing, this has lead to HRESULT STDMETHODCALLTYPE Invoke (HRESULT, ICoreWebView2Controller* controller) override. This function seems to be called by the Window's WebView2 specifically . The controller is a null pointer only in the failing issue stated above.
I'm not sure what do as this gets into WebView2 calls.
If you need help replicating the bug let me know!
The text was updated successfully, but these errors were encountered:
The Issue:
I am helping with development of two audio plugins, let's call them A and B for simplicity. When I load in A and then B with the WebView of A still open, the WebView of B is blank. Loading them by themselves has no issues. Also note that if I run multiple instances of B the issue does not occur.
When doing some digging, I saw that the constructor of
choc::ui::Webview
is failing.The following code prints out false.
After doing some more digging I noticed that the
PIMPL
constructor is failing.The line
hwnd = windowClass.createWindow (WS_POPUP, 400, 400, this);
returns a null pointer. This can be fixed by changing the first parameter ofWindowClass windowClass { L"CHOCWebView", (WNDPROC) wndProc };
to something unique.WindowClass windowClass { L"CHOCWebView", (WNDPROC) wndProc };
->WindowClass windowClass { L"CHOCWebViewB", (WNDPROC) wndProc };
. This fixes whenhwnd
is null, but it unfortunately doesn't fix the entire issue.Now the issue is that
createEmbeddedWebView()
is returning false becausecoreWebView
is null. After doing some tracing, this has lead toHRESULT STDMETHODCALLTYPE Invoke (HRESULT, ICoreWebView2Controller* controller) override
. This function seems to be called by the Window's WebView2 specifically . The controller is a null pointer only in the failing issue stated above.I'm not sure what do as this gets into WebView2 calls.
If you need help replicating the bug let me know!
The text was updated successfully, but these errors were encountered: