mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-12-31 20:00:37 -07:00
ENH: call Bambu source deinit
Change-Id: I7b96056aabe7a894c66fcaf61e24f783f5a1e217 Jira: STUDIO-7666 (cherry picked from commit 9f85798a0bc8d02b3f0a30fd42934f58b48e67e9)
This commit is contained in:
parent
f2022f431b
commit
ef5463f9fe
3 changed files with 12 additions and 4 deletions
|
|
@ -157,6 +157,7 @@ namespace pt = boost::property_tree;
|
|||
struct StaticBambuLib
|
||||
{
|
||||
static void reset();
|
||||
static void release();
|
||||
};
|
||||
|
||||
namespace Slic3r {
|
||||
|
|
@ -1898,6 +1899,8 @@ GUI_App::~GUI_App()
|
|||
delete preset_updater;
|
||||
}
|
||||
|
||||
StaticBambuLib::release();
|
||||
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< boost::format(": exit");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -691,10 +691,7 @@ void MediaPlayCtrl::media_proc()
|
|||
continue;
|
||||
}
|
||||
lock.unlock();
|
||||
if (url.IsEmpty()) {
|
||||
break;
|
||||
}
|
||||
else if (url == "<stop>") {
|
||||
if (url == "<stop>") {
|
||||
BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl: start stop";
|
||||
m_media_ctrl->Stop();
|
||||
BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl: end stop";
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ struct StaticBambuLib : BambuLib {
|
|||
static StaticBambuLib &get(BambuLib * copy = nullptr);
|
||||
static int Fake_Bambu_Create(Bambu_Tunnel*, char const*) { return -2; }
|
||||
static void reset();
|
||||
static void release();
|
||||
private:
|
||||
std::vector<BambuLib *> copies_;
|
||||
};
|
||||
|
|
@ -1641,6 +1642,7 @@ StaticBambuLib &StaticBambuLib::get(BambuLib *copy)
|
|||
GET_FUNC(Bambu_Destroy);
|
||||
GET_FUNC(Bambu_SetLogger);
|
||||
GET_FUNC(Bambu_FreeLogMsg);
|
||||
GET_FUNC(Bambu_Deinit);
|
||||
|
||||
if (!lib.Bambu_Create) {
|
||||
lib.Bambu_Create = Fake_Bambu_Create;
|
||||
|
|
@ -1658,6 +1660,12 @@ void StaticBambuLib::reset()
|
|||
*c = lib;
|
||||
}
|
||||
|
||||
void StaticBambuLib::release()
|
||||
{
|
||||
if (auto f = get().Bambu_Deinit)
|
||||
f();
|
||||
}
|
||||
|
||||
extern "C" BambuLib *bambulib_get() {
|
||||
return &StaticBambuLib::get();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue