EXT-2896 Fixed poor handling of login error.
Added more cleanup to the reset_login call. Added new settings to control UseCircuitCode message timeouts to allow testing of this failure. Reviewed by Richardmeow-7.2.2
parent
423b943b41
commit
9f68163179
|
|
@ -4974,7 +4974,6 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>StartUpToastLifeTime</key>
|
||||
<key>NearbyToastFadingTime</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
@ -9911,6 +9910,28 @@
|
|||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>UseCircuitCodeMaxRetries</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Max timeout count for the initial UseCircuitCode message</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<real>3</real>
|
||||
</map>
|
||||
<key>UseCircuitCodeTimeout</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Timeout duration in seconds for the initial UseCircuitCode message</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>5.0</real>
|
||||
</map>
|
||||
<key>UseDebugLogin</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -367,8 +367,6 @@ bool idle_startup()
|
|||
LLMemType mt1(LLMemType::MTYPE_STARTUP);
|
||||
|
||||
const F32 PRECACHING_DELAY = gSavedSettings.getF32("PrecachingDelay");
|
||||
const F32 TIMEOUT_SECONDS = 5.f;
|
||||
const S32 MAX_TIMEOUT_COUNT = 3;
|
||||
static LLTimer timeout;
|
||||
static S32 timeout_count = 0;
|
||||
|
||||
|
|
@ -1436,9 +1434,9 @@ bool idle_startup()
|
|||
msg->addUUIDFast(_PREHASH_ID, gAgent.getID());
|
||||
msg->sendReliable(
|
||||
gFirstSim,
|
||||
MAX_TIMEOUT_COUNT,
|
||||
gSavedSettings.getS32("UseCircuitCodeMaxRetries"),
|
||||
FALSE,
|
||||
TIMEOUT_SECONDS,
|
||||
gSavedSettings.getF32("UseCircuitCodeTimeout"),
|
||||
use_circuit_callback,
|
||||
NULL);
|
||||
|
||||
|
|
@ -2734,6 +2732,9 @@ void LLStartUp::setStartupState( EStartupState state )
|
|||
|
||||
void reset_login()
|
||||
{
|
||||
gAgent.cleanup();
|
||||
LLWorld::getInstance()->destroyClass();
|
||||
|
||||
LLStartUp::setStartupState( STATE_LOGIN_SHOW );
|
||||
|
||||
if ( gViewerWindow )
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ LLWorld::LLWorld() :
|
|||
|
||||
void LLWorld::destroyClass()
|
||||
{
|
||||
mHoleWaterObjects.clear();
|
||||
gObjectList.destroy();
|
||||
for(region_list_t::iterator region_it = mRegionList.begin(); region_it != mRegionList.end(); )
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue