ivan.cuevas Posted March 5, 2012 Share Posted March 5, 2012 Windows 32bit Visual C++ 1600 Release Feb 22 2012 System: Windows 7 (build 7600) 64bit CPU: Intel® Core™ i7 CPU 960 @ 3.20GHz 3197MHz MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 HTT x8 GPU: NVIDIA GeForce GTX 560 Ti 8.17.12.7533 x1 System memory: 4095 Mb Video memory: 1024 Mb I've moved from an old Unigne version (2011-09-13) to last (2012-02-26) Application crashes at startup when It tries to register its extern classes. Looking at UnigineInterpreter.cpp file the old version was: ExternClassBase *GetExternClass(::ExternClassBase *extern_class) { if(extern_class) return static_cast<ExternClassExport*>(extern_class)->getExternClass(); return NULL; } Now it's: ExternClassBase *GetExternClass(::ExternClassBase *extern_class) { if(extern_class) { ExternClassBase *ret = static_cast<ExternClassExport*>(extern_class)->getExternClass(); delete extern_class; return ret; } return NULL; } The crash happens second time I ask for a base class to extend from it calling: ExternClass<IAvatarEntity> *iavatarentityclass= static_cast<ExternClass<IAvatarEntity>*>(Interpreter::getExternClass("IAvatarEntity")); In first call, extern_class points to a valid memory direction, but at second call extern_class is NULL. Iván. Link to comment
frustum Posted March 6, 2012 Share Posted March 6, 2012 Thanks for the report. This is a patch. UnigineInterpreter.diff Link to comment
Recommended Posts