Fix gcode viewer not working properly when opening .gcode files (#8761)

* Fix crash during project openning due to preset sync

* Don't reset gcode preview when open as gcode viewer
This commit is contained in:
Noisyfox
2025-03-08 21:26:59 +08:00
committed by GitHub
parent ec213e98fb
commit 0f3fbd4390
2 changed files with 23 additions and 11 deletions

View File

@@ -791,17 +791,6 @@ void GUI_App::post_init()
if (! this->initialized())
throw Slic3r::RuntimeError("Calling post_init() while not yet initialized");
if (app_config->get("sync_user_preset") == "true") {
// BBS loading user preset
// Always async, not such startup step
// BOOST_LOG_TRIVIAL(info) << "Loading user presets...";
// scrn->SetText(_L("Loading user presets..."));
if (m_agent) { start_sync_user_preset(); }
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " sync_user_preset: true";
} else {
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " sync_user_preset: false";
}
m_open_method = "double_click";
bool switch_to_3d = false;
@@ -957,6 +946,20 @@ void GUI_App::post_init()
}
}
// Start preset sync after project opened, otherwise we could have preset change during project opening which could cause crash
if (app_config->get("sync_user_preset") == "true") {
// BBS loading user preset
// Always async, not such startup step
// BOOST_LOG_TRIVIAL(info) << "Loading user presets...";
// scrn->SetText(_L("Loading user presets..."));
if (m_agent) {
start_sync_user_preset();
}
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " sync_user_preset: true";
} else {
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " sync_user_preset: false";
}
// The extra CallAfter() is needed because of Mac, where this is the only way
// to popup a modal dialog on start without screwing combo boxes.
// This is ugly but I honestly found no better way to do it.