From 35f2f03461ece0a06b01c76d06ec653e7858ad5e Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Sat, 5 Jun 2010 16:01:07 -0700 Subject: Potential fix for #330 (messages in queue cause a crash when logging back in) --- linden/indra/newview/llappviewer.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'linden/indra') diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index bedb2a0..b8d0d14 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -1190,8 +1190,12 @@ bool LLAppViewer::cleanup() //clear all the chat off the screen gConsole->clear(); - if (!mQuitRequested) //if we are doing a soft cleanup, bail here + //if we are doing a soft cleanup, bail here + // But clean up the messaging system first -- MC + if (!mQuitRequested) { + gTransferManager.cleanup(); + LLTransferTargetVFile::updateQueue(true); // shutdown LLTransferTargetVFile return true; } // End TransferManager before deleting systems it depends on (Audio, VFS, AssetStorage) @@ -2744,11 +2748,11 @@ void LLAppViewer::requestLogout(bool quit_after) if( (LLStartUp::getStartupState() >= STATE_STARTED) && region ) { - LLHUDEffectSpiral *effectp = (LLHUDEffectSpiral*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINT, TRUE); - effectp->setPositionGlobal(gAgent.getPositionGlobal()); - effectp->setColor(LLColor4U(gAgent.getEffectColor())); - LLHUDManager::getInstance()->sendEffects(); - effectp->markDead() ;//remove it. + LLHUDEffectSpiral *effectp = (LLHUDEffectSpiral*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINT, TRUE); + effectp->setPositionGlobal(gAgent.getPositionGlobal()); + effectp->setColor(LLColor4U(gAgent.getEffectColor())); + LLHUDManager::getInstance()->sendEffects(); + effectp->markDead() ;//remove it. //send_stats(); if we're quitting the server shouldn't need viewer stats. } else -- cgit v1.1