Răsfoiți Sursa

Merge pull request #327 from lukaspj/fix/interpreter-foreach

Fix global variables not being able to be used inside of a foreach$ loop
Brian Roberts 5 ani în urmă
părinte
comite
6dedf6330b
1 a modificat fișierele cu 4 adăugiri și 1 ștergeri
  1. 4 1
      Engine/source/console/codeInterpreter.cpp

+ 4 - 1
Engine/source/console/codeInterpreter.cpp

@@ -2898,7 +2898,10 @@ OPCodeReturn CodeInterpreter::op_iter_begin(U32 &ip)
 
    IterStackRecord& iter = iterStack[_ITER];
 
-   iter.mVariable = gEvalState.getCurrentFrame().add(varName);
+   if (varName[0] == '$')
+      iter.mVariable = gEvalState.globalVars.add(varName);
+   else
+      iter.mVariable = gEvalState.getCurrentFrame().add(varName);
 
    if (iter.mIsStringIter)
    {