diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 3172e22c3..335dd6619 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -885,6 +885,10 @@ void Tab::on_roll_back_value(const bool to_sys /*= true*/) } m_postpone_update_ui = false; + + // When all values are rolled, then we hane to update whole tab in respect to the reverted values + update(); + update_changed_ui(); } @@ -1148,6 +1152,13 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) if (opt_key == "extruders_count") wxGetApp().plater()->on_extruders_change(boost::any_cast(value)); + if (m_postpone_update_ui) { + // It means that not all values are rolled to the system/last saved values jet. + // And call of the update() can causes a redundant check of the config values, + // see https://github.com/prusa3d/PrusaSlicer/issues/7146 + return; + } + update(); }