From 6e7d5b0a9b126f19d411f03f44ba2890d4b1d942 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Tue, 13 Oct 2026 21:52:31 -0300 Subject: [PATCH] Ask about clumping detection whenever the prime tower is disabled The prompt that clumping detection needs a prime tower was nested inside the smooth timelapse check, so disabling the tower with clumping detection on and traditional timelapse gave no prompt; the problem only surfaced as a warning after slicing. The prompt now appears whenever clumping detection is on. The smooth timelapse prompt is unchanged, and answering it with No still skips the clumping one. --- src/slic3r/GUI/Tab.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 76a31ff267..9d67e7c0fb 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2052,17 +2052,19 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) } } } - if (!boost::any_cast(value) && timelapse_enabled) { + bool enable_wrapping = m_config->option("enable_wrapping_detection")->value; + if (!boost::any_cast(value) && (timelapse_enabled || enable_wrapping)) { bool set_enable_prime_tower = false; - MessageDialog dlg(wxGetApp().plater(), _L("A prime tower is required for smooth timelapse mode. There may be flaws on the model without a prime tower. Are you sure you want to disable the prime tower\?"), - _L("Warning"), wxICON_WARNING | wxYES | wxNO); - if (dlg.ShowModal() == wxID_NO) { - DynamicPrintConfig new_conf = *m_config; - new_conf.set_key_value("enable_prime_tower", new ConfigOptionBool(true)); - m_config_manipulation.apply(m_config, &new_conf); - set_enable_prime_tower = true; + if (timelapse_enabled) { + MessageDialog dlg(wxGetApp().plater(), _L("A prime tower is required for smooth timelapse mode. There may be flaws on the model without a prime tower. Are you sure you want to disable the prime tower\?"), + _L("Warning"), wxICON_WARNING | wxYES | wxNO); + if (dlg.ShowModal() == wxID_NO) { + DynamicPrintConfig new_conf = *m_config; + new_conf.set_key_value("enable_prime_tower", new ConfigOptionBool(true)); + m_config_manipulation.apply(m_config, &new_conf); + set_enable_prime_tower = true; + } } - bool enable_wrapping = m_config->option("enable_wrapping_detection")->value; if (enable_wrapping && !set_enable_prime_tower) { MessageDialog dlg(wxGetApp().plater(), _L("A prime tower is required for clumping detection. There may be flaws on the model without prime tower. Are you sure you want to disable prime tower?"),