From 54b1847b3ca7678d7c9b65e9b8e701f6f9869b98 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Tue, 14 Feb 2012 17:09:42 -0600 Subject: SH-2973 Rearrange shutdown operations to prevent crash on exit on OSX --- indra/newview/llappviewer.cpp | 5 +++-- indra/newview/llviewerwindow.cpp | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'indra/newview') 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 100755 --- 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() ; -- cgit v1.2.3