diff --git a/src/scripting/backend/codegen.cpp b/src/scripting/backend/codegen.cpp index 786d6164c..08d3ac37a 100644 --- a/src/scripting/backend/codegen.cpp +++ b/src/scripting/backend/codegen.cpp @@ -9047,6 +9047,14 @@ FxExpression *FxVMFunctionCall::Resolve(FCompileContext& ctx) else { ArgList[i]->RequestAddress(ctx, &writable); + + if ((flag & VARF_Out) && !writable) + { + ScriptPosition.Message(MSG_ERROR, "Argument must be a modifiable value"); + delete this; + return nullptr; + } + if (flag & VARF_Ref)ArgList[i]->ValueType = NewPointer(ArgList[i]->ValueType); }