diff -r 1ab488466984 code/ryzom/client/src/far_tp.cpp --- a/code/ryzom/client/src/far_tp.cpp Tue Nov 23 17:11:34 2010 +0200 +++ b/code/ryzom/client/src/far_tp.cpp Wed Jan 12 19:20:06 2011 +0100 @@ -582,6 +582,8 @@ // Server Hop part 3.2: bypass character selection ui & select the same character. // Far TP part 3.2: bypass character selection ui & select the same character. // This is called from farTPmainloop(), when CONNECTION:USER_CHARS is received. + Driver->releaseContext(); if( !FarTP.isReselectingChar() ) { FarTP.selectCharAndEnter(); @@ -642,6 +644,8 @@ break; } } + Driver->releaseContext(); } @@ -1053,6 +1057,9 @@ if (isIngame()) { + Driver->enableContext(); // Display background (TODO: not Kami) beginLoading (StartBackground); UseEscapeDuringLoading = false; @@ -1391,6 +1398,8 @@ void CFarTP::farTPmainLoop() { ConnectionReadySent = false; + Driver->releaseContext(); LoginSM.pushEvent(CLoginStateMachine::ev_far_tp_main_loop_entered); uint nbRecoSelectCharReceived = 0; @@ -1430,6 +1439,8 @@ if ( nbRecoSelectCharReceived <= 1 ) { ClientCfg.SelectCharacter = -1; // turn off character autoselection + Driver->enableContext(); if ( ! FarTP.reselectCharacter() ) // it should not return here in farTPmainLoop() in the same state otherwise this would be called twice return; } @@ -1441,6 +1452,8 @@ { // Don't call sendReady() within the cotask but within the main loop, as it contains // event/network loops that could trigger a global exit(). + Driver->enableContext(); sendReady(); welcomeWindow = !isReselectingChar(); }