diff options
author | Dave Parks <davep@lindenlab.com> | 2012-02-14 17:09:42 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2012-02-14 17:09:42 -0600 |
commit | 52782548c83dc0ca0fc8352e1a3ad68784116a91 (patch) | |
tree | 908ac0c7317e2576bf5171ceca477e3d15ca428d /indra | |
parent | ca179444a1fb56bb42896c735b23906460c40d88 (diff) |
SH-2973 Rearrange shutdown operations to prevent crash on exit on OSX
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llappviewer.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 10 |
2 files changed, 9 insertions, 6 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3a257e1f1c..1174d108d2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1487,6 +1487,9 @@ void LLAppViewer::flushVFSIO() bool LLAppViewer::cleanup() { + //ditch LLVOAvatarSelf instance + gAgentAvatarp = NULL; + // workaround for DEV-35406 crash on shutdown LLEventPumps::instance().reset(); @@ -1769,8 +1772,6 @@ bool LLAppViewer::cleanup() LLAvatarIconIDCache::getInstance()->save(); - gAgentAvatarp = NULL; - LLViewerMedia::saveCookieFile(); // Stop the plugin read thread if it's running. diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 8a713ae22c..e0653fec30 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2021,6 +2021,12 @@ void LLViewerWindow::shutdownGL() gSky.cleanup(); stop_glerror(); + llinfos << "Cleaning up pipeline" << llendl; + gPipeline.cleanup(); + stop_glerror(); + + //MUST clean up pipeline before cleaning up wearables + llinfos << "Cleaning up wearables" << llendl; LLWearableList::instance().cleanup() ; gTextureList.shutdown(); @@ -2031,10 +2037,6 @@ void LLViewerWindow::shutdownGL() LLWorldMapView::cleanupTextures(); - llinfos << "Cleaning up pipeline" << llendl; - gPipeline.cleanup(); - stop_glerror(); - LLViewerTextureManager::cleanup() ; LLImageGL::cleanupClass() ; |