|
@@ -3500,6 +3500,8 @@ void tnsDestroyObject(tnsObject *o){
|
|
|
|
|
|
lstRemoveItem(&T->World.AllObjects, o);
|
|
lstRemoveItem(&T->World.AllObjects, o);
|
|
|
|
|
|
|
|
+ if(o->InRoot){ lstRemovePointerLeave(&o->InRoot->ChildObjects, o); }
|
|
|
|
+
|
|
if(o->Type==TNS_OBJECT_MESH){ tnsMeshObject* mo=o;
|
|
if(o->Type==TNS_OBJECT_MESH){ tnsMeshObject* mo=o;
|
|
if(mo->v) arrFree(&mo->v, &mo->maxv); if(mo->e) arrFree(&mo->e, &mo->maxe);
|
|
if(mo->v) arrFree(&mo->v, &mo->maxv); if(mo->e) arrFree(&mo->e, &mo->maxe);
|
|
if(mo->f){ for(int i=0;i<mo->totf;i++){ free(mo->f[i].loop); mo->f[i].loop=0; } arrFree(&mo->f, &mo->maxf); }
|
|
if(mo->f){ for(int i=0;i<mo->totf;i++){ free(mo->f[i].loop); mo->f[i].loop=0; } arrFree(&mo->f, &mo->maxf); }
|