socke
12-09-2006 20:52:24
it seems that Option "PageGetTileVertexData_2" allocates memory for the index buffer that isn't deleted on exit or anywhere before.
Do i have to clean up anything ?
Reported leakage in ogreleak.log:
Code generating the leak
Do i have to clean up anything ?
Reported leakage in ogreleak.log:
3 memory leaks found:
Alloc. Addr Size Addr Size BreakOn BreakOn
Number Reported Reported Actual Actual Unused Method Dealloc Realloc Allocated by
------ ---------- ---------- ---------- ---------- ---------- -------- ------- ------- ---------------------------------------------------
033401 0x0722E850 0x00000014 0x0722E840 0x00000034 0x00000000 new N N OgrePagingLandScapeIndexBuffer.cpp(205) Ogre::PagingLandScapeIndexBufferManager
033402 0x0723AF80 0x00000038 0x0723AF70 0x00000058 0x00000000 new N N ogred3d9hardwarebuffermanager.cpp(100) Ogre::D3D9HardwareBufferManager::create
033404 0x0723B068 0x00000004 0x0723B058 0x00000024 0x00000000 new N N ogresharedptr.h(59) Ogre::SharedPtr<class Ogre::HardwareInd
Code generating the leak
size_t pageX=event->mPagex;
size_t pageZ=event->mPagez;
size_t tileX=event->mTilex;
size_t tileZ=event->mTilez;
std::vector<void*> params;
int renderLevel=0;
params.push_back(&pageX);
params.push_back(&pageZ);
params.push_back(&tileX);
params.push_back(&tileZ);
params.push_back(&renderLevel);
mSceneMgr->getOption("PageGetTileVertexData_2",¶ms);
int* numVtx=((int*)params[5]);
Ogre::Vector3* vertices=((Ogre::Vector3*)params[6]);
Ogre::IndexData* indexData=((Ogre::IndexData*)params[7]);
//cleanup as mentioned in PLSM2 code
delete[] vertices;
delete numVtx;