From e6fa3149487bcf92215329fb270a3bbe945940d6 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Wed, 20 Dec 2023 16:02:46 +0800 Subject: [PATCH] FIX: register bambusource dll path Change-Id: Ic99750f667c58b3e531909c08d74c2b17e52d7ce Github: 3171 --- src/slic3r/GUI/wxMediaCtrl2.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/wxMediaCtrl2.cpp b/src/slic3r/GUI/wxMediaCtrl2.cpp index 4af5254c1..346baaf52 100644 --- a/src/slic3r/GUI/wxMediaCtrl2.cpp +++ b/src/slic3r/GUI/wxMediaCtrl2.cpp @@ -93,7 +93,10 @@ void wxMediaCtrl2::Load(wxURI url) [dll_path] { int res = wxMessageBox(_L("BambuSource has not correctly been registered for media playing! Press Yes to re-register it."), _L("Error"), wxYES_NO | wxICON_ERROR); if (res == wxYES) { - SHELLEXECUTEINFO info{sizeof(info), 0, NULL, L"open", L"regsvr32", dll_path.wstring().c_str(), SW_HIDE }; + auto path = dll_path.wstring(); + if (path.find(L' ') != std::wstring::npos) + path = L"\"" + path + L"\""; + SHELLEXECUTEINFO info{sizeof(info), 0, NULL, L"open", L"regsvr32", path.c_str(), SW_HIDE }; ::ShellExecuteEx(&info); } }); @@ -114,7 +117,10 @@ void wxMediaCtrl2::Load(wxURI url) if (!notified) CallAfter([dll_path] { int res = wxMessageBox(_L("Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."), _L("Warning"), wxYES_NO | wxICON_WARNING); if (res == wxYES) { - SHELLEXECUTEINFO info{sizeof(info), 0, NULL, L"open", L"regsvr32", dll_path.wstring().c_str(), SW_HIDE}; + auto path = dll_path.wstring(); + if (path.find(L' ') != std::wstring::npos) + path = L"\"" + path + L"\""; + SHELLEXECUTEINFO info{sizeof(info), 0, NULL, L"open", L"regsvr32", path.c_str(), SW_HIDE}; ::ShellExecuteEx(&info); } });