Jump to content

  • Log In with Google      Sign In   
  • Create Account

#Actualpatrrr

Posted 08 February 2013 - 02:06 AM

HRESULT BoneHierarchyLoader::CreateMeshContainer(LPCSTR Name,
                                            CONST D3DXMESHDATA *pMeshData,
                                            CONST D3DXMATERIAL *pMaterials,
                                            CONST D3DXEFFECTINSTANCE *pEffectInstances,
                                            DWORD NumMaterials,
                                            CONST DWORD *pAdjacency,
                                            LPD3DXSKININFO pSkinInfo,
                                            LPD3DXMESHCONTAINER *ppNewMeshContainer)
{
    
    //Create new Bone Mesh
    BoneMesh *boneMesh = new BoneMesh; <<<<<<<<<<< Leak here
    memset(boneMesh, 0, sizeof(BoneMesh));

 

You probably shouldn't be memsetting your BoneMesh, it's not a POD (Plain Old Data) structure because it contains std::vectors. Who knows what happens if you memset those. Just FYI.


#2patrrr

Posted 08 February 2013 - 02:05 AM

HRESULT BoneHierarchyLoader::CreateMeshContainer(LPCSTR Name,
                                            CONST D3DXMESHDATA *pMeshData,
                                            CONST D3DXMATERIAL *pMaterials,
                                            CONST D3DXEFFECTINSTANCE *pEffectInstances,
                                            DWORD NumMaterials,
                                            CONST DWORD *pAdjacency,
                                            LPD3DXSKININFO pSkinInfo,
                                            LPD3DXMESHCONTAINER *ppNewMeshContainer)
{
    
    //Create new Bone Mesh
    BoneMesh *boneMesh = new BoneMesh; <<<<<<<<<<< Leak here
    memset(boneMesh, 0, sizeof(BoneMesh));

 

You probably shouldn't be memsetting your BoneMesh, it's not a POD (Plain Old Data) structure because it contains std::vectors. Who knows what happens if you memset those. Just FYI.

 

Also, why not use the constructor and destructor instead of the Create/DestroyMeshContainer functions.


#1patrrr

Posted 08 February 2013 - 02:04 AM

HRESULT BoneHierarchyLoader::CreateMeshContainer(LPCSTR Name,
                                            CONST D3DXMESHDATA *pMeshData,
                                            CONST D3DXMATERIAL *pMaterials,
                                            CONST D3DXEFFECTINSTANCE *pEffectInstances,
                                            DWORD NumMaterials,
                                            CONST DWORD *pAdjacency,
                                            LPD3DXSKININFO pSkinInfo,
                                            LPD3DXMESHCONTAINER *ppNewMeshContainer)
{
    
    //Create new Bone Mesh
    BoneMesh *boneMesh = new BoneMesh; <<<<<<<<<<< Leak here
    memset(boneMesh, 0, sizeof(BoneMesh));

 

You probably shouldn't be memsetting your BoneMesh, it's not a POD (Plain Old Data) structure because it contains std::vectors. Who knows what happens if you memset those. Just FYI.


PARTNERS