diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index e5693387be..7ef2443c5f 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -3573,7 +3573,9 @@ void TabFilament::update_filament_overrides_page(const DynamicPrintConfig* print // "filament_seam_gap" }; - const int extruder_idx = m_variant_combo->GetSelection(); // #ys_FIXME + const int selection = 0; //m_variant_combo->GetSelection(); // TODO: Orca hack + auto opt = dynamic_cast(m_config->option("filament_retraction_length")); + const int extruder_idx = selection < 0 || selection >= static_cast(opt->size()) ? 0 : selection; const bool have_retract_length = dynamic_cast(m_config->option("filament_retraction_length"))->is_nil(extruder_idx) || m_config->opt_float("filament_retraction_length", extruder_idx) > 0; diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp index e04292f4db..09f53d3b28 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.cpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp @@ -1211,8 +1211,10 @@ static wxString get_string_value(std::string opt_key, const DynamicPrintConfig& } opt_idx = orig_opt_idx >= 0 ? orig_opt_idx : 0; opt_key = get_pure_opt_key(opt_key); + auto option = config.option(opt_key); - if (config.option(opt_key)->is_nil()) + if (option->is_scalar() && config.option(opt_key)->is_nil() || + option->is_vector() && dynamic_cast(config.option(opt_key))->is_nil(opt_idx)) return _L("N/A"); wxString out;