From 9c63aee9f875e7ec6f8a672381636e5c8e966668 Mon Sep 17 00:00:00 2001 From: anjis Date: Wed, 27 May 2026 22:59:43 +0800 Subject: [PATCH] Fix ScriptMessageHandler invalidation after RemoveAllUserScripts on Windows. (#13829) --- src/slic3r/GUI/PrinterWebView.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/slic3r/GUI/PrinterWebView.cpp b/src/slic3r/GUI/PrinterWebView.cpp index 6c20e98ce6..201f1b09e9 100644 --- a/src/slic3r/GUI/PrinterWebView.cpp +++ b/src/slic3r/GUI/PrinterWebView.cpp @@ -242,6 +242,14 @@ void PrinterWebView::SendAPIKey() )", m_apikey); m_browser->RemoveAllUserScripts(); + +#ifdef _WIN32 + // RemoveAllUserScripts causes WebView2 to forget about our script message handler, + // so re-add it here. + m_browser->RemoveScriptMessageHandler("wx"); + m_browser->AddScriptMessageHandler("wx"); +#endif + #ifdef __linux__ // Re-inject the vue-resize/WebKitGTK workaround that RemoveAllUserScripts just cleared. inject_vue_resize_workaround(m_browser);