added temp variable because *p_inputs[2] is the same as *p_outputs[0]
This commit is contained in:
parent
8818a93a3c
commit
d76457a7f3
1 changed files with 3 additions and 1 deletions
|
@ -1706,8 +1706,10 @@ public:
|
||||||
|
|
||||||
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
|
||||||
bool valid;
|
bool valid;
|
||||||
|
// *p_output[0] points to the same place as *p_inputs[2] so we need a temp to store the value before the change in the next line
|
||||||
|
Variant temp = *p_inputs[2];
|
||||||
*p_outputs[0] = *p_inputs[0];
|
*p_outputs[0] = *p_inputs[0];
|
||||||
p_outputs[0]->set(*p_inputs[1], *p_inputs[2], &valid);
|
p_outputs[0]->set(*p_inputs[1], temp, &valid);
|
||||||
|
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||||
|
|
Loading…
Reference in a new issue