From 5a00e9c704494829811a3294085a8d3dd4846c79 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Fri, 5 Jul 2024 17:00:41 +0800 Subject: [PATCH] FIX: config deep compare & plate config extruder switch Change-Id: Iae1716e6511e252f131ab4355f9521d7611d7133 (cherry picked from commit 7e7e8723667852b34851fc19095f879b975773ba) --- src/libslic3r/Preset.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 3806419384..66669fcb97 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -2691,7 +2691,7 @@ void add_correct_opts_to_diff(const std::string &opt_key, t_config_option_keys& { int init_id = i <= opt_init_max_id ? i : 0; if (opt_cur->values[i] != opt_init->values[init_id] - && (strict || opt_cur->is_nil(i) || opt_init->is_nil(init_id))) + && (strict || !(opt_cur->is_nil(i) || opt_init->is_nil(init_id)))) vec.emplace_back(opt_key + "#" + std::to_string(i)); } } diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 337e0b939e..4235446b25 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1761,6 +1761,10 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) tab->update_extruder_variants(extruder_idx); tab->reload_config(); } + if (auto tab = wxGetApp().plate_tab) { + tab->update_extruder_variants(extruder_idx); + tab->reload_config(); + } for (auto tab : wxGetApp().model_tabs_list) { tab->update_extruder_variants(extruder_idx); tab->reload_config(); @@ -4956,6 +4960,10 @@ void Tab::load_current_preset() // Reload preset pages with the new configuration values. update_extruder_variants(); if (m_type == Preset::TYPE_PRINT) { + if (auto tab = wxGetApp().plate_tab) { + tab->update_extruder_variants(); + tab->reload_config(); + } for (auto tab : wxGetApp().model_tabs_list) { tab->update_extruder_variants(); tab->reload_config();