From 45a7fa8be66d869afc701a5807acca73cedfdec6 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Wed, 7 Apr 2021 11:00:51 +0100 Subject: [PATCH] Fix accidental param overwrite in processNew scenarios --- include/wrapper/NonRealtime.hpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/wrapper/NonRealtime.hpp b/include/wrapper/NonRealtime.hpp index 20f7eac..9983c5a 100644 --- a/include/wrapper/NonRealtime.hpp +++ b/include/wrapper/NonRealtime.hpp @@ -385,7 +385,11 @@ namespace impl { explicit CommandProcess(index id,bool synchronous,Params* params):NRTCommand{id},mSynchronous(synchronous), mParams{Client::getParameterDescriptors()} { - if(params) mParams = *params; + if(params) + { + mParams = *params; + mOverwriteParams = true; + } } @@ -401,7 +405,7 @@ namespace impl { { auto& params = ptr->mParams; - params = mParams; + if(mOverwriteParams) params = mParams; auto& client = ptr->mClient; @@ -497,6 +501,7 @@ namespace impl { size_t mCompletionMsgSize{0}; char* mCompletionMessage{nullptr}; Params mParams; + bool mOverwriteParams{false}; }; struct CommandProcessNew: public NRTCommand