]> git.mxchange.org Git - flightgear.git/commitdiff
NasalSys: do not print invalid elements for error backtraces.
authorThomas Geymayer <tomgey@gmail.com>
Wed, 16 Oct 2013 21:36:27 +0000 (23:36 +0200)
committerThomas Geymayer <tomgey@gmail.com>
Wed, 16 Oct 2013 21:41:38 +0000 (23:41 +0200)
src/Scripting/NasalSys.cxx

index 5015d125080ee6924edcd241606ad40c27886b70..ffef17dc64beb38a41165f4ccc1466d4868ad08d 100644 (file)
@@ -988,12 +988,14 @@ void FGNasalSys::loadPropertyScripts(SGPropertyNode* n)
 // Logs a runtime error, with stack trace, to the FlightGear log stream
 void FGNasalSys::logError(naContext context)
 {
-    SG_LOG(SG_NASAL, SG_ALERT,
-           "Nasal runtime error: " << naGetError(context));
+    SG_LOG(SG_NASAL, SG_ALERT, "Nasal runtime error: " << naGetError(context));
+    int stack_depth = naStackDepth(context);
+    if( stack_depth < 1 )
+      return;
     SG_LOG(SG_NASAL, SG_ALERT,
            "  at " << naStr_data(naGetSourceFile(context, 0)) <<
            ", line " << naGetLine(context, 0));
-    for(int i=1; i<naStackDepth(context); i++)
+    for(int i=1; i<stack_depth; i++)
         SG_LOG(SG_NASAL, SG_ALERT,
                "  called from: " << naStr_data(naGetSourceFile(context, i)) <<
                ", line " << naGetLine(context, i));