diff --git a/Bullet/BroadphaseCollision/OverlappingPairCache.cpp b/Bullet/BroadphaseCollision/OverlappingPairCache.cpp index c55b294e1..37cb807dc 100644 --- a/Bullet/BroadphaseCollision/OverlappingPairCache.cpp +++ b/Bullet/BroadphaseCollision/OverlappingPairCache.cpp @@ -176,7 +176,13 @@ void OverlappingPairCache::ProcessAllOverlappingPairs(OverlapCallback* callback) BroadphasePair* pair = (BroadphasePair*)(&(*it)); if (callback->ProcessOverlap(*pair)) { - it = m_overlappingPairSet.erase(it); + CleanOverlappingPair(*pair); +\ + std::set::iterator it2 = it; + it++; + //why does next line not compile under OS X?? + //it = m_overlappingPairSet.erase(it2); + m_overlappingPairSet.erase(it2); } else { it++;