FIX: fix the crash issue when switch timelapse_mode or spiral mode

previous commit only fix the crash when switch spiral_mode
and will cause crash when switch timelapse_mode

Change-Id: If21acf3701e9519de55a08e183620678378f61b9
This commit is contained in:
lane.wei 2023-01-28 10:59:07 +08:00 committed by Lane.Wei
parent fd64c5f694
commit 7335f5d015
2 changed files with 4 additions and 3 deletions

View file

@ -159,7 +159,7 @@ void ConfigManipulation::check_filament_max_volumetric_speed(DynamicPrintConfig
apply(config, &new_conf); apply(config, &new_conf);
is_msg_dlg_already_exist = false; is_msg_dlg_already_exist = false;
} }
} }
void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, const bool is_global_config) void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, const bool is_global_config)
@ -311,7 +311,8 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
apply(config, &new_conf); apply(config, &new_conf);
if (cb_value_change) { if (cb_value_change) {
cb_value_change("sparse_infill_density", sparse_infill_density); cb_value_change("sparse_infill_density", sparse_infill_density);
cb_value_change("timelapse_type", timelapse_type); int timelapse_type_int = (int)timelapse_type;
cb_value_change("timelapse_type", timelapse_type_int);
if (!support) if (!support)
cb_value_change("enable_support", false); cb_value_change("enable_support", false);
} }

View file

@ -1402,7 +1402,7 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
// reload scene to update timelapse wipe tower // reload scene to update timelapse wipe tower
if (opt_key == "timelapse_type") { if (opt_key == "timelapse_type") {
bool wipe_tower_enabled = m_config->option<ConfigOptionBool>("enable_prime_tower")->value; bool wipe_tower_enabled = m_config->option<ConfigOptionBool>("enable_prime_tower")->value;
if (!wipe_tower_enabled && boost::any_cast<TimelapseType>(value) == TimelapseType::tlSmooth) { if (!wipe_tower_enabled && boost::any_cast<int>(value) == (int)TimelapseType::tlSmooth) {
MessageDialog dlg(wxGetApp().plater(), _L("Prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Do you want to enable prime tower?"), MessageDialog dlg(wxGetApp().plater(), _L("Prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Do you want to enable prime tower?"),
_L("Warning"), wxICON_WARNING | wxYES | wxNO); _L("Warning"), wxICON_WARNING | wxYES | wxNO);
if (dlg.ShowModal() == wxID_YES) { if (dlg.ShowModal() == wxID_YES) {