diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2011-05-25 14:38:53 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2011-05-25 14:38:53 -0600 |
commit | 8c97ed86ff725b9fea444ac00b4a33e76920e737 (patch) | |
tree | 237fc54ce70fec2721c3eb73a65e9a01bf2e95ca /indra/newview | |
parent | e5752934be74a84e6ec0ff8cb96974bd1e9060ec (diff) |
fix for SH-1624: Crash during viewer startup: LLViewerTextureList::addImageToList
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llappviewer.cpp | 13 | ||||
-rw-r--r-- | indra/newview/llviewertexturelist.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llviewertexturelist.h | 1 |
3 files changed, 19 insertions, 6 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 75b6c18c57..a0be252ab2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -739,6 +739,8 @@ bool LLAppViewer::init() } initThreads(); + LL_INFOS("InitInfo") << "Threads initialized." << LL_ENDL ; ; + writeSystemInfo(); // Initialize updater service (now that we have an io pump) @@ -765,6 +767,10 @@ bool LLAppViewer::init() LL_INFOS("InitInfo") << "J2C Engine is: " << LLImageJ2C::getEngineInfo() << LL_ENDL; LL_INFOS("InitInfo") << "libcurl version is: " << LLCurl::getVersionString() << LL_ENDL; + //Note: --bao + //allow to start texture fetching, must be called after initThreads(); + gTextureList.start() ; + // Get the single value from the crash settings file, if it exists std::string crash_settings_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, CRASH_SETTINGS_FILE); gCrashSettings.loadFromFile(crash_settings_filename); @@ -773,6 +779,7 @@ bool LLAppViewer::init() gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, CRASH_BEHAVIOR_ALWAYS_SEND); gCrashSettings.saveToFile(crash_settings_filename, FALSE); } + LL_INFOS("InitInfo") << "Crash settings done." << LL_ENDL ; ///////////////////////////////////////////////// // OS-specific login dialogs @@ -821,6 +828,8 @@ bool LLAppViewer::init() // Let code in llui access the viewer help floater LLUI::sHelpImpl = LLViewerHelp::getInstance(); + LL_INFOS("InitInfo") << "UI initialization is done." << LL_ENDL ; + // Load translations for tooltips LLFloater::initClass(); @@ -890,7 +899,8 @@ bool LLAppViewer::init() OSMessageBox(msg.str(),LLStringUtil::null,OSMB_OK); return 1; } - + LL_INFOS("InitInfo") << "Cache initialization is done." << LL_ENDL ; + // Initialize the repeater service. LLMainLoopRepeater::instance().start(); @@ -899,6 +909,7 @@ bool LLAppViewer::init() // gGLActive = TRUE; initWindow(); + LL_INFOS("InitInfo") << "Window is initialized." << LL_ENDL ; // initWindow also initializes the Feature List, so now we can initialize this global. LLCubeMap::sUseCubeMaps = LLFeatureManager::getInstance()->isFeatureAvailable("RenderCubeMap"); diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index cd6653b0c7..a50361add2 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -88,15 +88,16 @@ LLViewerTextureList::LLViewerTextureList() { } -void LLViewerTextureList::init() +void LLViewerTextureList::start() { sRenderThreadID = LLThread::currentID() ; - + mInitialized = TRUE ; sNumImages = 0; - mMaxResidentTexMemInMegaBytes = 0; - mMaxTotalTextureMemInMegaBytes = 0 ; - +} + +void LLViewerTextureList::init() +{ mUpdateStats = TRUE; // Update how much texture RAM we're allowed to use. diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index d02b6be6b5..772f533bbb 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -78,6 +78,7 @@ public: LLViewerTextureList(); ~LLViewerTextureList(); + void start(); void init(); void shutdown(); void dump(); |