From 7e45c49c2f9f32358cbd0ff6cdcb0ba2aa91589c Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 10 Feb 2016 21:48:28 +0100 Subject: [PATCH] - fixed: The expression evaluator must ignore the action function symbol for ACS_NamedExecuteWithResult. This is necessary because otherwise the incompatible action function will take precedence over the special handling for this inside FxFunctionCall. --- src/thingdef/thingdef_exp.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/thingdef/thingdef_exp.cpp b/src/thingdef/thingdef_exp.cpp index e8a043d31a..17d97e4fa8 100644 --- a/src/thingdef/thingdef_exp.cpp +++ b/src/thingdef/thingdef_exp.cpp @@ -467,7 +467,8 @@ static FxExpression *ParseExpression0 (FScanner &sc, PClassActor *cls) PFunction *func = dyn_cast(cls->Symbols.FindSymbol(identifier, true)); try { - if (func != NULL) + // There is an action function ACS_NamedExecuteWithResult which must be ignored here for this to work. + if (func != NULL && identifier != NAME_ACS_NamedExecuteWithResult) { sc.UnGet(); ParseFunctionParameters(sc, cls, *args, func, "", NULL);