mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-10 22:51:57 +00:00
Fixes Black's latest bug. Ensure saved return values are in a locked temp, and not corrupted by the following function call.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2874 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
433ade6f5c
commit
d591079731
1 changed files with 8 additions and 6 deletions
|
@ -2555,12 +2555,6 @@ QCC_def_t *QCC_PR_ParseFunctionCall (QCC_def_t *func) //warning, the func could
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QCC_FreeTemp(func);
|
|
||||||
QCC_LockActiveTemps(); //any temps before are likly to be used with the return value.
|
|
||||||
QCC_UnFreeTemp(func);
|
|
||||||
|
|
||||||
//any temps referenced to build the parameters don't need to be locked.
|
|
||||||
|
|
||||||
// copy the arguments to the global parameter variables
|
// copy the arguments to the global parameter variables
|
||||||
arg = 0;
|
arg = 0;
|
||||||
if (t->type == ev_variant)
|
if (t->type == ev_variant)
|
||||||
|
@ -2590,6 +2584,14 @@ QCC_def_t *QCC_PR_ParseFunctionCall (QCC_def_t *func) //warning, the func could
|
||||||
else
|
else
|
||||||
old = NULL;
|
old = NULL;
|
||||||
|
|
||||||
|
//we dont need to lock the local containing the function index because its thrown away after the call anyway
|
||||||
|
//(if a function is called in the argument list then it'll be locked as part of that call)
|
||||||
|
QCC_FreeTemp(func);
|
||||||
|
QCC_LockActiveTemps(); //any temps before are likly to be used with the return value.
|
||||||
|
QCC_UnFreeTemp(func);
|
||||||
|
|
||||||
|
//any temps referenced to build the parameters don't need to be locked.
|
||||||
|
|
||||||
if (opt_vectorcalls && (t->num_parms == 1 && t->param->type == ev_vector))
|
if (opt_vectorcalls && (t->num_parms == 1 && t->param->type == ev_vector))
|
||||||
{ //if we're using vectorcalls
|
{ //if we're using vectorcalls
|
||||||
//if it's a function, takes a vector
|
//if it's a function, takes a vector
|
||||||
|
|
Loading…
Reference in a new issue