diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 47aeeff75f..2e384004dd 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -502,7 +502,7 @@ void Tab::OnActivate() update_btns_enabling(); m_btn_hide_incompatible_presets->Show(m_show_btn_incompatible_presets && m_type != Slic3r::Preset::TYPE_PRINTER); if (TabFilament* tab = dynamic_cast(this)) - tab->update_extruder_combobox(); + tab->update_extruder_combobox_visibility(); Layout(); } @@ -2104,15 +2104,16 @@ void TabFilament::create_extruder_combobox() m_h_buttons_sizer->Add(m_extruders_cb, 0, wxALIGN_CENTER_VERTICAL); } +void TabFilament::update_extruder_combobox_visibility() +{ + const size_t extruder_cnt = static_cast(m_preset_bundle->printers.get_edited_preset().config.option("nozzle_diameter"))->values.size(); + m_extruders_cb->Show(extruder_cnt > 1); +} + void TabFilament::update_extruder_combobox() { - if (!m_presets_choice->IsShown()) - return; // it will be updated later, on OnActive() - const size_t extruder_cnt = static_cast(m_preset_bundle->printers.get_edited_preset().config.option("nozzle_diameter"))->values.size(); - m_extruders_cb->Show(extruder_cnt > 1); - if (extruder_cnt != m_extruders_cb->GetCount()) { m_extruders_cb->Clear(); for (size_t id = 1; id <= extruder_cnt; id++) diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 0f41c0f9da..1c6ec220e4 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -496,6 +496,7 @@ public: bool set_active_extruder(int new_selected_extruder); void invalidate_active_extruder() { m_active_extruder = -1; } void update_extruder_combobox(); + void update_extruder_combobox_visibility(); int get_active_extruder() const { return m_active_extruder; } const std::string& get_custom_gcode(const t_config_option_key& opt_key) override;