From: Geoff Carlton
Date: Mon Apr 25 16:07:50 2005
Subject: [ODE] Re: Memory leak from dBodySetPosition()?
Trimesh has some static caches that need to be cleared.
Try adding a
function in trimesh.cpp that is called during dCloseODE.
void dClearTrimeshCaches(void)
{
dxTriMesh::defaultSphereCache.TouchedPrimitives.Empty();
dxTriMesh::defaultBoxCache.TouchedPrimitives.Empty();
dxTriMesh::defaultCCylinderCache.TouchedPrimitives.Empty();
dxTriMesh::Faces.Empty();
}
I thought I submitted a patch for this, but it turns
out I haven't.
Assuming it fixes your allocations, its probably a good
idea for this to
go in the unstable branch.
Geoff
Logged In: YES
user_id=1683
Last time I checked this was still a problem in both
branches of CVS. I need to do more research to see if it has
been fixed.
Logged In: YES
user_id=145206
Hi,
In the unstable branch there is a fix for a memory leak.
In collision_trimesh_ccylinder.cpp
if (! Collider.GetContactStatus()) {
// no collision occurred
return 0;
}
You can check if this solves your problem.
Remi
Logged In: YES
user_id=1481948
Originator: NO
The leak fixes described by Geoff were added in SVN #1132, I must have forgotten to close this patch at the time.
Logged In: YES
user_id=1312539
Originator: NO
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).