From f4bde2da0a41d4deb1f312b3c2bd11e85270b6b2 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Mon, 12 Oct 2026 02:54:55 +0300 Subject: [PATCH] Fix missing plate bed override normalization in Configuration Wizard (#16365) --- src/slic3r/GUI/ConfigWizard.cpp | 3 +++ src/slic3r/GUI/ParamsDialog.cpp | 7 +------ src/slic3r/GUI/Plater.cpp | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 347973c667..5d14f8162e 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -81,6 +81,7 @@ #include "MsgDialog.hpp" #include "UnsavedChangesDialog.hpp" #include "MainFrame.hpp" +#include "Plater.hpp" namespace fs = boost::filesystem; @@ -2813,6 +2814,8 @@ bool ConfigWizard::run(RunReason reason, StartPage start_page) app.app_config->set_legacy_datadir(false); app.update_mode(); + if (Plater *plater = app.plater()) + plater->normalize_bed_types(false); // BBS //app.obj_manipul()->update_ui_from_settings(); BOOST_LOG_TRIVIAL(info) << "ConfigWizard applied"; diff --git a/src/slic3r/GUI/ParamsDialog.cpp b/src/slic3r/GUI/ParamsDialog.cpp index c7bca55f16..3fa40ec931 100644 --- a/src/slic3r/GUI/ParamsDialog.cpp +++ b/src/slic3r/GUI/ParamsDialog.cpp @@ -77,11 +77,8 @@ ParamsDialog::ParamsDialog(wxWindow * parent) auto &preset_bundle = *wxGetApp().preset_bundle; const bool supports_multiple_bed_types = preset_bundle.is_bbl_vendor() || preset_bundle.printers.get_edited_preset().config.opt_bool("support_multi_bed_types"); - if (m_initial_multi_bed_types != supports_multiple_bed_types) { + if (m_initial_multi_bed_types != supports_multiple_bed_types) wxGetApp().plater()->normalize_bed_types(true); - if (auto *plate_tab = dynamic_cast(wxGetApp().get_plate_tab())) - plate_tab->update_model_config(); - } } if (!m_editing_filament_id.empty()) { @@ -93,8 +90,6 @@ ParamsDialog::ParamsDialog(wxWindow * parent) #endif wxGetApp().sidebar().finish_param_edit(); }); - - //wxGetApp().UpdateDlgDarkUI(this); } void ParamsDialog::Popup() diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 7004ebaa34..8339e4d9d9 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -15609,7 +15609,7 @@ void Plater::reset_project_dirty_initial_presets() { p->reset_project_dirty_init void Plater::render_project_state_debug_window() const { p->render_project_state_debug_window(); } #endif // ENABLE_PROJECT_DIRTY_STATE_DEBUG_WINDOW -void Plater::normalize_bed_types(bool printer_setting_changed) +void Plater::normalize_bed_types(bool multi_bed_changed) { if (only_gcode_mode() || is_gcode_3mf()) return; @@ -15635,7 +15635,7 @@ void Plater::normalize_bed_types(bool printer_setting_changed) } // Refresh the controls after a capability change, even when no override was reset. - if (printer_setting_changed || overrides_reset) { + if (multi_bed_changed || overrides_reset) { sidebar().update_all_preset_comboboxes(); wxGetApp().obj_list()->update_and_show_object_settings_item(); }