diff --git a/Library/Measure.cpp b/Library/Measure.cpp index 482ef4ce..65ea44fc 100644 --- a/Library/Measure.cpp +++ b/Library/Measure.cpp @@ -547,6 +547,28 @@ bool CMeasure::Update() } } +void CMeasure::Disable() +{ + m_Disabled = true; + + // IfActions are not checked when disabled, so set committed state to false if + // condition is not met with value = 0 + if ((int)m_IfEqualValue != 0) + { + m_IfEqualCommitted = false; + } + + if (m_IfAboveValue <= 0.0) + { + m_IfAboveCommitted = false; + } + + if (m_IfBelowValue >= 0.0) + { + m_IfBelowCommitted = false; + } +} + /* ** Returns the value of the measure. ** diff --git a/Library/Measure.h b/Library/Measure.h index 9f607539..d00c84b7 100644 --- a/Library/Measure.h +++ b/Library/Measure.h @@ -57,7 +57,7 @@ public: const WCHAR* GetName() { return m_Name.c_str(); } const std::wstring& GetOriginalName() { return m_Name; } - void Disable() { m_Disabled = true; } + void Disable(); void Enable() { m_Disabled = false; } bool IsDisabled() { return m_Disabled; }