From 2ac45b2f78126b9019c66ebe68b503b89538932d Mon Sep 17 00:00:00 2001 From: Ian Chua Date: Wed, 16 Sep 2026 14:13:37 +0800 Subject: [PATCH] fix: invoke js clearInterval on WebMediaController::stop --- src/slic3r/GUI/WebMediaController.cpp | 33 +++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/slic3r/GUI/WebMediaController.cpp b/src/slic3r/GUI/WebMediaController.cpp index cf4580771b..5e5c477d4b 100644 --- a/src/slic3r/GUI/WebMediaController.cpp +++ b/src/slic3r/GUI/WebMediaController.cpp @@ -4,25 +4,20 @@ namespace Slic3r { namespace GUI { -WebMediaController::WebMediaController(wxWebView *webview) : m_webview(webview) +WebMediaController::WebMediaController(wxWebView* webview) : m_webview(webview) { if (!m_webview) return; m_webview->SetBackgroundColour(*wxBLACK); - m_webview->SetPage( - "", - ""); + m_webview->SetPage("", ""); } -void WebMediaController::Load(wxURI url) -{ - Load(url, CameraStreamMode::http); -} +void WebMediaController::Load(wxURI url) { Load(url, CameraStreamMode::http); } void WebMediaController::Load(wxURI url, CameraStreamMode mode) { - m_url = url.BuildURI().ToStdString(); + m_url = url.BuildURI().ToStdString(); m_stream_mode = mode; } @@ -31,13 +26,14 @@ void WebMediaController::Play() if (!m_webview) return; - wxString url = wxString::FromUTF8(m_url); + wxString url = wxString::FromUTF8(m_url); wxString html = ""; m_webview->SetPage(html, url); } else { @@ -63,9 +66,11 @@ void WebMediaController::Play() void WebMediaController::Stop() { - m_url.clear(); - if (m_webview) + if (m_webview) { + m_webview->RunScript("if(typeof stopCameraRefresh==='function') stopCameraRefresh();"); m_webview->Stop(); + } + m_url.clear(); } }} // namespace Slic3r::GUI