Merge pull request #1645 from Areloch/NewObjectPointerCleanup

New object pointer cleanup
This commit is contained in:
Areloch 2016-06-21 05:11:03 -05:00 committed by GitHub
commit 68d44c4c30

View file

@ -871,6 +871,7 @@ breakContinue:
{ {
Con::errorf(ConsoleLogEntry::General, "%s: Unable to instantiate non-SimObject class %s.", getFileLine(ip), (const char*)callArgv[1]); Con::errorf(ConsoleLogEntry::General, "%s: Unable to instantiate non-SimObject class %s.", getFileLine(ip), (const char*)callArgv[1]);
delete object; delete object;
currentNewObject = NULL;
ip = failJump; ip = failJump;
break; break;
} }
@ -902,6 +903,7 @@ breakContinue:
// Fail to create the object. // Fail to create the object.
delete object; delete object;
currentNewObject = NULL;
ip = failJump; ip = failJump;
break; break;
} }
@ -1016,6 +1018,7 @@ breakContinue:
Con::errorf(ConsoleLogEntry::General, "%s: preload failed for %s: %s.", getFileLine(ip), Con::errorf(ConsoleLogEntry::General, "%s: preload failed for %s: %s.", getFileLine(ip),
currentNewObject->getName(), errorStr.c_str()); currentNewObject->getName(), errorStr.c_str());
dataBlock->deleteObject(); dataBlock->deleteObject();
currentNewObject = NULL;
ip = failJump; ip = failJump;
// Prevent stack value corruption // Prevent stack value corruption