From 8fbf308e0cd601651ed781817bcc141fe4f0f502 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Jul 2026 17:01:04 +0000 Subject: [PATCH] changed some logic of slowctonrol set value --- src/ServiceDiscovery/SlowControlElement.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/ServiceDiscovery/SlowControlElement.cpp b/src/ServiceDiscovery/SlowControlElement.cpp index 753e1af..b018172 100644 --- a/src/ServiceDiscovery/SlowControlElement.cpp +++ b/src/ServiceDiscovery/SlowControlElement.cpp @@ -218,6 +218,14 @@ bool SlowControlElement::SetValue(const char value[]){ bool SlowControlElement::SetValue(std::string value){ mtx.lock(); + if(m_type == SlowControlElementType(VARIABLE)){ + std::stringstream tmp(value); + double val=0; + tmp>>val; + mtx.unlock(); + return SetValue(val); + } + if(m_change_function!=0){ try{ m_change_function(value.c_str()); @@ -227,14 +235,9 @@ bool SlowControlElement::SetValue(std::string value){ } } - if(m_type == SlowControlElementType(VARIABLE)){ - std::stringstream tmp(value); - double val=0; - tmp>>val; - mtx.unlock(); - return SetValue(val); - } - else if(m_type == SlowControlElementType(INFO)){ //sanitising for web printout + + + if(m_type == SlowControlElementType(INFO)){ //sanitising for web printout for(unsigned int i=0; i