From 871311c95c704559c5a7b793d22e634f74909377 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 15 Nov 2021 10:47:35 +0100 Subject: [PATCH] Fix for #7301 - Endless loop telling me 'Supports work better if the following feature is enabled: bridging perimeters' when setting 'generate support material' on a single object This bug was from https://github.com/prusa3d/PrusaSlicer/commit/0c29eb9943df769ed045bd88f159406ecf9763ed --- src/slic3r/GUI/ConfigManipulation.cpp | 6 +++--- src/slic3r/GUI/ConfigManipulation.hpp | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 0b2af37b8e..7e64abcde1 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -162,8 +162,8 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con if (config->opt_bool("support_material")) { // Ask only once. - if (!m_support_material_overhangs_queried) { - m_support_material_overhangs_queried = true; + if (!support_material_overhangs_queried) { + support_material_overhangs_queried = true; if (!config->opt_bool("overhangs")/* != 1*/) { wxString msg_text = _(L("Supports work better, if the following feature is enabled:\n" "- Detect bridging perimeters")); @@ -182,7 +182,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con } } else { - m_support_material_overhangs_queried = false; + support_material_overhangs_queried = false; } if (config->option("fill_density")->value == 100) { diff --git a/src/slic3r/GUI/ConfigManipulation.hpp b/src/slic3r/GUI/ConfigManipulation.hpp index 0b50c8ab0f..0d6250b5af 100644 --- a/src/slic3r/GUI/ConfigManipulation.hpp +++ b/src/slic3r/GUI/ConfigManipulation.hpp @@ -17,11 +17,14 @@ class ModelConfig; namespace GUI { +// This variable have to be static because of use its value from Preset configuration +// and from object/parts configuration from the Settings in sidebar +static bool support_material_overhangs_queried {false}; + class ConfigManipulation { bool is_msg_dlg_already_exist{ false }; - bool m_support_material_overhangs_queried{false}; bool m_is_initialized_support_material_overhangs_queried{ false }; // function to loading of changed configuration @@ -63,7 +66,7 @@ public: void initialize_support_material_overhangs_queried(bool queried) { m_is_initialized_support_material_overhangs_queried = true; - m_support_material_overhangs_queried = queried; + support_material_overhangs_queried = queried; } };