diff --git a/nel/include/nel/3d/async_file_manager_3d.h b/nel/include/nel/3d/async_file_manager_3d.h index 4e86f10b1..3f43a01e3 100644 --- a/nel/include/nel/3d/async_file_manager_3d.h +++ b/nel/include/nel/3d/async_file_manager_3d.h @@ -40,7 +40,7 @@ class CTextureFile; class CAsyncFileManager3D { - NLMISC_SAFE_SINGLETON_DECL(CAsyncFileManager3D); + NLMISC_SAFE_RELEASABLE_SINGLETON_DECL(CAsyncFileManager3D); CAsyncFileManager3D(); public: diff --git a/ryzom/client/src/client.cpp b/ryzom/client/src/client.cpp index da9eb8a54..84abb8cd4 100644 --- a/ryzom/client/src/client.cpp +++ b/ryzom/client/src/client.cpp @@ -451,6 +451,7 @@ int main(int argc, char **argv) // delete all logs and displayers when we're not using logs macros anymore destroyDebug(); CLog::releaseProcessName(); + // CCoTask::releaseInstance(); // delete the Nel context delete appContext; diff --git a/ryzom/client/src/release.cpp b/ryzom/client/src/release.cpp index 24783d391..b29683149 100644 --- a/ryzom/client/src/release.cpp +++ b/ryzom/client/src/release.cpp @@ -43,6 +43,7 @@ #include "nel/3d/u_visual_collision_manager.h" #include "nel/3d/u_shape_bank.h" #include "nel/3d/stereo_hmd.h" +#include "nel/3d/async_file_manager_3d.h" // Client #include "global.h" #include "release.h" @@ -572,6 +573,8 @@ void release() { CLoginProgressPostThread::getInstance().step(CLoginStep(LoginStep_GameExit, "login_step_game_exit&play_time=" + toString((NLMISC::CTime::getLocalTime() - StartPlayTime) / 1000))); } + + setCrashCallback(NULL); #ifdef RYZOM_BG_DOWNLOADER CBGDownloaderAccess::getInstance().release(); @@ -704,7 +707,7 @@ void release() CIXml::releaseLibXml(); CHttpCache::release(); CStrictTransportSecurity::release(); - CCoTask::releaseInstance(); + CAsyncFileManager3D::releaseInstance(); #if FINAL_VERSION // openURL ("http://ryzom.com/exit/");