diff --git a/common/libeval_compiler/libeval_compiler.cpp b/common/libeval_compiler/libeval_compiler.cpp index f711c5b83d..a76024c0e2 100644 --- a/common/libeval_compiler/libeval_compiler.cpp +++ b/common/libeval_compiler/libeval_compiler.cpp @@ -805,11 +805,17 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext ) if( func ) { // Preflight the function call - wxString paramStr = *node->leaf[1]->leaf[1]->value.str; - VALUE* param = aPreflightContext->AllocValue(); + auto argsLeaf = node->leaf[1]->leaf[1]; + wxString paramStr; - param->Set( paramStr ); - aPreflightContext->Push( param ); + if( argsLeaf->op != TR_NULL ) // function has an argument + { + paramStr = *node->leaf[1]->leaf[1]->value.str; + VALUE* param = aPreflightContext->AllocValue(); + + param->Set( paramStr ); + aPreflightContext->Push( param ); + } aPreflightContext->SetErrorCallback( [&]( const wxString& aMessage, int aOffset )