diff --git a/examples/Importers/ImportURDFDemo/UrdfParser.cpp b/examples/Importers/ImportURDFDemo/UrdfParser.cpp index 2ec443db2..cf5b9c626 100644 --- a/examples/Importers/ImportURDFDemo/UrdfParser.cpp +++ b/examples/Importers/ImportURDFDemo/UrdfParser.cpp @@ -620,6 +620,15 @@ bool UrdfParser::parseVisual(UrdfModel& model, UrdfVisual& visual, TiXmlElement* if (parseMaterial(visual.m_geometry.m_localMaterial, mat,logger)) { UrdfMaterial* matPtr = new UrdfMaterial(visual.m_geometry.m_localMaterial); + + UrdfMaterial** oldMatPtrPtr = model.m_materials[matPtr->m_name.c_str()]; + if (oldMatPtrPtr) + { + UrdfMaterial* oldMatPtr = *oldMatPtrPtr; + model.m_materials.remove(matPtr->m_name.c_str()); + if (oldMatPtr) + delete oldMatPtr; + } model.m_materials.insert(matPtr->m_name.c_str(),matPtr); visual.m_geometry.m_hasLocalMaterial = true; } diff --git a/examples/pybullet/pybullet.c b/examples/pybullet/pybullet.c index cc9bda8d0..b041f88d8 100644 --- a/examples/pybullet/pybullet.c +++ b/examples/pybullet/pybullet.c @@ -1,3 +1,4 @@ + #include "../SharedMemory/PhysicsClientC_API.h" #include "../SharedMemory/PhysicsDirectC_API.h" #include "../SharedMemory/SharedMemoryInProcessPhysicsC_API.h" @@ -398,6 +399,22 @@ static PyObject* pybullet_disconnectPhysicsServer(PyObject* self, return Py_None; } + +void b3pybulletExitFunc() +{ + int i; + for (i=0;i