Fixed: Deadlock while calling CoUninitialize()

This commit is contained in:
kervala 2016-10-15 17:11:53 +02:00
parent 0aebd56ba1
commit e88a317f42
3 changed files with 2 additions and 9 deletions

View file

@ -72,9 +72,6 @@ INelContext::~INelContext()
CInstanceCounterLocalManager::releaseInstance(); CInstanceCounterLocalManager::releaseInstance();
// uninit some systems stuff
CSystemUtils::uninit();
_NelContext = NULL; _NelContext = NULL;
*(_getInstance()) = NULL; *(_getInstance()) = NULL;
} }
@ -94,9 +91,6 @@ void INelContext::contextReady()
// set numeric locale to C to avoid the use of decimal separators different of a dot // set numeric locale to C to avoid the use of decimal separators different of a dot
char *locale = setlocale(LC_NUMERIC, "C"); char *locale = setlocale(LC_NUMERIC, "C");
// init some systems stuff
CSystemUtils::init();
// register any pending thinks // register any pending thinks
// register local instance counter in the global instance counter manager // register local instance counter in the global instance counter manager

View file

@ -1148,6 +1148,7 @@ void prelogInit()
Driver->setSwapVBLInterval(0); Driver->setSwapVBLInterval(0);
// initialize system utils class // initialize system utils class
CSystemUtils::init();
CSystemUtils::setWindow(Driver->getDisplay()); CSystemUtils::setWindow(Driver->getDisplay());
CLoginProgressPostThread::getInstance().step(CLoginStep(LoginStep_VideoModeSetupHighColor, "login_step_video_mode_setup_high_color")); CLoginProgressPostThread::getInstance().step(CLoginStep(LoginStep_VideoModeSetupHighColor, "login_step_video_mode_setup_high_color"));

View file

@ -556,6 +556,7 @@ void release()
// restore screensaver state // restore screensaver state
CSystemUtils::enableScreensaver(LastScreenSaverEnabled); CSystemUtils::enableScreensaver(LastScreenSaverEnabled);
CSystemUtils::uninit();
// release PACS primitives // release PACS primitives
deletePrimitiveBlocks(); deletePrimitiveBlocks();
@ -663,9 +664,6 @@ void release()
NLGUI::CDBManager::release(); NLGUI::CDBManager::release();
CWidgetManager::release(); CWidgetManager::release();
#if FINAL_VERSION #if FINAL_VERSION
// openURL ("http://www.ryzomcore.org/exit/"); // openURL ("http://www.ryzomcore.org/exit/");
#endif #endif