From b50838b15562403558538fc48d8a5af88b83831c Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Thu, 29 Jun 2023 13:43:52 +0800 Subject: [PATCH] FIX: [STUDIO-3309] MediaCtrl: Stop before Load({}) Change-Id: Id7c96fdf7fd717725e94b9ae28b261963b8f64e7 --- src/slic3r/GUI/MediaPlayCtrl.cpp | 7 +++++++ src/slic3r/GUI/wxMediaCtrl2.cpp | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/MediaPlayCtrl.cpp b/src/slic3r/GUI/MediaPlayCtrl.cpp index a623e22f8..3f5b4b986 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.cpp +++ b/src/slic3r/GUI/MediaPlayCtrl.cpp @@ -488,6 +488,13 @@ void MediaPlayCtrl::media_proc() m_cond.wait(lock); } wxString url = m_tasks.front(); + if (m_tasks.size() >= 2 && !url.IsEmpty() && url[0] != '<' && m_tasks[1] == "") { + BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl: busy skip url" << url; + m_tasks.pop_front(); + m_tasks.pop_front(); + lock.unlock(); + continue; + } lock.unlock(); if (url.IsEmpty()) { break; diff --git a/src/slic3r/GUI/wxMediaCtrl2.cpp b/src/slic3r/GUI/wxMediaCtrl2.cpp index 274626e3b..ab0a2f3ac 100644 --- a/src/slic3r/GUI/wxMediaCtrl2.cpp +++ b/src/slic3r/GUI/wxMediaCtrl2.cpp @@ -170,10 +170,9 @@ void wxMediaCtrl2::Play() { wxMediaCtrl::Play(); } void wxMediaCtrl2::Stop() { + wxMediaCtrl::Stop(); #ifdef __WIN32__ wxMediaCtrl::Load(wxURI()); -#else - wxMediaCtrl::Stop(); #endif }