diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 6b210a708e..a18020357f 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -877,10 +877,10 @@ void SpinCtrl::BUILD() { void SpinCtrl::propagate_value() { - if (suppress_propagation) + // check if value was really changed + if (boost::any_cast(m_value) == tmp_value) return; - suppress_propagation = true; if (tmp_value == UNDEF_VALUE) { on_kill_focus(); } else { @@ -894,7 +894,6 @@ void SpinCtrl::propagate_value() #endif on_change_field(); } - suppress_propagation = false; } void SpinCtrl::msw_rescale() diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp index 8bdf4b8d80..8575001bf8 100644 --- a/src/slic3r/GUI/Field.hpp +++ b/src/slic3r/GUI/Field.hpp @@ -302,7 +302,6 @@ class SpinCtrl : public Field { private: static const int UNDEF_VALUE = INT_MIN; - bool suppress_propagation {false}; public: SpinCtrl(const ConfigOptionDef& opt, const t_config_option_key& id) : Field(opt, id), tmp_value(UNDEF_VALUE) {} SpinCtrl(wxWindow* parent, const ConfigOptionDef& opt, const t_config_option_key& id) : Field(parent, opt, id), tmp_value(UNDEF_VALUE) {}