浏览代码

sanity checks

AzaezelX 3 年之前
父节点
当前提交
e1a127715e
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6 6
      Engine/source/T3D/missionMarker.cpp

+ 6 - 6
Engine/source/T3D/missionMarker.cpp

@@ -438,16 +438,16 @@ void SpawnSphere::unpackUpdate(NetConnection * con, BitStream * stream)
       stream->read(&mSpawnDataBlock);
       if (oldSDB != mSpawnDataBlock)
       {
+         delete mShapeInstance;
          ShapeBaseData *spawnedDatablock = dynamic_cast<ShapeBaseData *>(Sim::findObject(mSpawnDataBlock.c_str()));
-         if (spawnedDatablock)
+         if (spawnedDatablock && spawnedDatablock->mShape)
          {
-            delete mShapeInstance;
-            mShapeInstance = new TSShapeInstance(spawnedDatablock->mShape);
+               mShapeInstance = new TSShapeInstance(spawnedDatablock->mShape);
          }
-         else
+         else if (mDataBlock)
          {
-            delete mShapeInstance;
-            mShapeInstance = new TSShapeInstance(mDataBlock->mShape);
+            if (mDataBlock->mShape)
+               mShapeInstance = new TSShapeInstance(mDataBlock->mShape);
          }
       }
       stream->read(&mSpawnName);