fix: crash on macOS when quitting from the Dock with the Bambu network plugin loaded (#16212)

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
This commit is contained in:
Kris Austin
2026-10-06 17:22:20 -03:00
committed by GitHub
co-authored by Ioannis Giannakas
parent 1c247bf266
commit c3cfb03dfe
+4 -1
View File
@@ -3112,8 +3112,11 @@ bool GUI_App::on_init_inner()
// A quit request from the Dock, a logout or a restart ends with AppKit calling exit() right after this event, so
// OnExit() and ~GUI_App() never run. Shut the plugins and Python down here as ~GUI_App() does. Left to
// PluginManager's static destructor, the shutdown locks hook state that has already been destroyed and aborts.
wxGetApp().Bind(wxEVT_END_SESSION, [](wxCloseEvent &e) {
// Unload the Bambu network plugin too. Its static destructors abort if its agent's threads are still running.
wxGetApp().Bind(wxEVT_END_SESSION, [this](wxCloseEvent &e) {
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "received wxEVT_END_SESSION";
stop_sync_user_preset();
Slic3r::NetworkAgent::unload_network_module();
Slic3r::PluginManager::instance().shutdown();
Slic3r::PythonInterpreter::instance().shutdown();
e.Skip();