Fix accidental param overwrite in processNew scenarios

nix
Owen Green 5 years ago
parent 927d60dfcc
commit 45a7fa8be6

@ -385,7 +385,11 @@ namespace impl {
explicit CommandProcess(index id,bool synchronous,Params* params):NRTCommand{id},mSynchronous(synchronous), explicit CommandProcess(index id,bool synchronous,Params* params):NRTCommand{id},mSynchronous(synchronous),
mParams{Client::getParameterDescriptors()} mParams{Client::getParameterDescriptors()}
{ {
if(params) mParams = *params; if(params)
{
mParams = *params;
mOverwriteParams = true;
}
} }
@ -401,7 +405,7 @@ namespace impl {
{ {
auto& params = ptr->mParams; auto& params = ptr->mParams;
params = mParams; if(mOverwriteParams) params = mParams;
auto& client = ptr->mClient; auto& client = ptr->mClient;
@ -497,6 +501,7 @@ namespace impl {
size_t mCompletionMsgSize{0}; size_t mCompletionMsgSize{0};
char* mCompletionMessage{nullptr}; char* mCompletionMessage{nullptr};
Params mParams; Params mParams;
bool mOverwriteParams{false};
}; };
struct CommandProcessNew: public NRTCommand struct CommandProcessNew: public NRTCommand

Loading…
Cancel
Save