- fixed missing checks for function calls from DECORATE

State functions could call ZScript code with incompatible self pointer, e.g. weapon's function could be called with self pointed to player pawn
DECORATE scripts that contain such errors are no longer accepted

https://forum.zdoom.org/viewtopic.php?t=66429
This commit is contained in:
alexey.lysiuk 2019-11-21 16:58:28 +02:00 committed by drfrag
parent bfcc4b7be6
commit 21079752ba

View file

@ -517,7 +517,8 @@ static FxExpression *ParseExpression0 (FScanner &sc, PClassActor *cls)
sc.UnGet();
ParseFunctionParameters(sc, cls, args, func, "", nullptr);
}
return new FxVMFunctionCall(new FxSelf(sc), func, args, sc, false);
// FxVMFunctionCall cannot be used here as it lacks some important checks
return new FxFunctionCall(identifier, NAME_None, args, sc);
}
}