Collada

In 3rdparty/collada-2.4.0/include/dae.h, the defines COLLADA_DOM_SUPPORT141 and COLLADA_DOM_SUPPORT150 control which virtual methods the DAE class has. When dae.h is included from src/libopenrave-core/colladaparser/colladacommon.cpp (via src/libopenrave-core/colladaparser/colladacommon.h), neither are #define'd. The result is that the compiler, when it should be calling s_dae->clear(); (in src/libopenrave-core/colladaparser/colladacommon.cpp, line 38), generates code to call entry # 13 in DAE's vtable, which would be correct if COLLADA_DOM_SUPPORT* were always undefined. However, when dae.cpp is compiled, COLLADA_DOM_SUPPORT150 is apparently #define'd, which means that entry # 13 in DAE's vtable ends up being DAE::writeTo(...). Calling writeTo(...) with no arguments, when it should have two, means that the std::strings that are passed as arguments have invalid data pointers, leading to the crash once their data is being used (in this case by std::string's copy constructor).