diff options
| author | Rider Linden <rider@lindenlab.com> | 2018-08-03 16:19:47 -0700 |
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2018-08-03 16:19:47 -0700 |
| commit | 56c773b3bc52d72a5a7056d6eb9ce014dedbc0d8 (patch) | |
| tree | e9c39e4c9255a909ce0996b4cf228d562020fddb /indra/newview/llappviewer.cpp | |
| parent | 8779b29487dd3d18220b17be8dd501ffeabe274f (diff) | |
| parent | 09f97172bb478a2c977d8b7b0958196e7e98c433 (diff) | |
Merge
Diffstat (limited to 'indra/newview/llappviewer.cpp')
| -rw-r--r-- | indra/newview/llappviewer.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 874940b87f..62ff8cf4fb 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -42,6 +42,7 @@ #include "llagentlanguage.h" #include "llagentui.h" #include "llagentwearables.h" +#include "lldirpicker.h" #include "llfloaterimcontainer.h" #include "llimprocessing.h" #include "llwindow.h" @@ -1083,7 +1084,7 @@ bool LLAppViewer::init() } } -// do not pester developers with instructions they cannot follow while debugging +// don't nag developers who need to run the executable directly #if LL_RELEASE_FOR_DOWNLOAD // MAINT-8305: If we're processing a SLURL, skip the launcher check. if (gSavedSettings.getString("CmdLineLoginLocation").empty()) @@ -1581,6 +1582,11 @@ bool LLAppViewer::doFrame() saveFinalSnapshot(); } + if (LLVoiceClient::instanceExists()) + { + LLVoiceClient::getInstance()->terminate(); + } + delete gServicePump; destroyMainloopTimeout(); @@ -1682,11 +1688,6 @@ bool LLAppViewer::cleanup() // Give any remaining SLPlugin instances a chance to exit cleanly. LLPluginProcessParent::shutdown(); - if (LLVoiceClient::instanceExists()) - { - LLVoiceClient::getInstance()->terminate(); - } - disconnectViewer(); LL_INFOS() << "Viewer disconnected" << LL_ENDL; @@ -1800,6 +1801,8 @@ bool LLAppViewer::cleanup() // (Deleted observers should have already removed themselves) gInventory.cleanupInventory(); + LLCoros::getInstance()->printActiveCoroutines(); + LL_INFOS() << "Cleaning up Selections" << LL_ENDL; // Clean up selection managers after UI is destroyed, as UI may be observing them. @@ -1986,6 +1989,7 @@ bool LLAppViewer::cleanup() mAppCoreHttp.cleanup(); SUBSYSTEM_CLEANUP(LLFilePickerThread); + SUBSYSTEM_CLEANUP(LLDirPickerThread); //MUST happen AFTER SUBSYSTEM_CLEANUP(LLCurl) delete sTextureCache; @@ -2156,6 +2160,7 @@ bool LLAppViewer::initThreads() gMeshRepo.init(); LLFilePickerThread::initClass(); + LLDirPickerThread::initClass(); // *FIX: no error handling here! return true; @@ -4590,7 +4595,7 @@ void LLAppViewer::idle() LLSmoothInterpolation::updateInterpolants(); LLMortician::updateClass(); LLFilePickerThread::clearDead(); //calls LLFilePickerThread::notify() - + LLDirPickerThread::clearDead(); F32 dt_raw = idle_timer.getElapsedTimeAndResetF32(); // Cap out-of-control frame times |
