From 36df8df8b45e19f05e16070f73ce6acbb732adb5 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 18 Nov 2021 17:30:11 +0100 Subject: [PATCH] Fix for #6124 - Looped "Wipe Tower" message box, can't quit Always add overloaded parameters for Object/Parts Settings to avoid lopped messages --- src/slic3r/GUI/GUI_ObjectSettings.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectSettings.cpp b/src/slic3r/GUI/GUI_ObjectSettings.cpp index 9409ce6c47..c92ddd3b5b 100644 --- a/src/slic3r/GUI/GUI_ObjectSettings.cpp +++ b/src/slic3r/GUI/GUI_ObjectSettings.cpp @@ -181,17 +181,16 @@ bool ObjectSettings::update_settings_list() bool ObjectSettings::add_missed_options(ModelConfig* config_to, const DynamicPrintConfig& config_from) { + const DynamicPrintConfig& print_config = wxGetApp().plater()->printer_technology() == ptFFF ? + wxGetApp().preset_bundle->prints.get_edited_preset().config : + wxGetApp().preset_bundle->sla_prints.get_edited_preset().config; bool is_added = false; - if (wxGetApp().plater()->printer_technology() == ptFFF) - { - if (config_to->has("fill_density") && !config_to->has("fill_pattern")) - { - if (config_from.option("fill_density")->value == 100) { - config_to->set_key_value("fill_pattern", config_from.option("fill_pattern")->clone()); - is_added = true; - } + + for (auto opt_key : config_from.diff(print_config)) + if (!config_to->has(opt_key)) { + config_to->set_key_value(opt_key, config_from.option(opt_key)->clone()); + is_added = true; } - } return is_added; }