From f2a494b675ee94fba653e08c7949a2dfb4976d00 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Sun, 3 Jun 2012 12:53:01 +0300 Subject: [PATCH] Fixed that IfAction state is not reset after disabling since 4a8bc1b --- Library/Measure.cpp | 22 ++++++++++++++++++++++ Library/Measure.h | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) 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; }