diff options
Diffstat (limited to 'indra/newview/llstartup.cpp')
| -rw-r--r-- | indra/newview/llstartup.cpp | 33 | 
1 files changed, 18 insertions, 15 deletions
| diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 0d99b35aee..5e9ad1cbce 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -806,6 +806,12 @@ bool idle_startup()  		gLoginMenuBarView->setEnabled( TRUE );  		show_debug_menus(); +        if (!LLConversationLog::instanceExists()) +        { +            // Check existance since this part can be reached twice if login fails +            LLConversationLog::initParamSingleton(); +        } +  		// Hide the splash screen  		LLSplashScreen::hide();  		// Push our window frontmost @@ -893,8 +899,13 @@ bool idle_startup()  		LLFile::mkdir(gDirUtilp->getLindenUserDir());  		// As soon as directories are ready initialize notification storages -		LLPersistentNotificationStorage::getInstance()->initialize(); -		LLDoNotDisturbNotificationStorage::getInstance()->initialize(); +		if (!LLPersistentNotificationStorage::instanceExists()) +		{ +			// check existance since this part of code can be reached +			// twice due to login failures +			LLPersistentNotificationStorage::initParamSingleton(); +			LLDoNotDisturbNotificationStorage::initParamSingleton(); +		}  		// Set PerAccountSettingsFile to the default value.  		gSavedSettings.setString("PerAccountSettingsFile", @@ -1226,8 +1237,6 @@ bool idle_startup()  		LLSurface::initClasses();  		display_startup(); - -		LLFace::initClass();  		display_startup();  		LLDrawable::initClass(); @@ -1290,8 +1299,6 @@ bool idle_startup()  		display_startup();  		LLStartUp::setStartupState( STATE_MULTIMEDIA_INIT ); -		 -		LLConversationLog::getInstance();  		return FALSE;  	} @@ -2806,9 +2813,6 @@ void LLStartUp::multimediaInit()  	std::string msg = LLTrans::getString("LoginInitializingMultimedia");  	set_startup_status(0.42f, msg.c_str(), gAgent.mMOTD.c_str());  	display_startup(); - -	// LLViewerMedia::initClass(); -	LLViewerParcelMedia::initClass();  }  void LLStartUp::fontInit() @@ -2836,9 +2840,10 @@ void LLStartUp::initNameCache()  	// Start cache in not-running state until we figure out if we have  	// capabilities for display name lookup -	LLAvatarNameCache::initClass(false,gSavedSettings.getBOOL("UsePeopleAPI")); -	LLAvatarNameCache::setUseDisplayNames(gSavedSettings.getBOOL("UseDisplayNames")); -	LLAvatarNameCache::setUseUsernames(gSavedSettings.getBOOL("NameTagShowUsernames")); +	LLAvatarNameCache* cache_inst = LLAvatarNameCache::getInstance(); +	cache_inst->setUsePeopleAPI(gSavedSettings.getBOOL("UsePeopleAPI")); +	cache_inst->setUseDisplayNames(gSavedSettings.getBOOL("UseDisplayNames")); +	cache_inst->setUseUsernames(gSavedSettings.getBOOL("NameTagShowUsernames"));  } @@ -2853,8 +2858,6 @@ void LLStartUp::initExperiences()  void LLStartUp::cleanupNameCache()  { -	SUBSYSTEM_CLEANUP(LLAvatarNameCache); -  	delete gCacheName;  	gCacheName = NULL;  } @@ -3543,7 +3546,7 @@ bool process_login_success_response()  	if(!openid_url.empty())  	{  		std::string openid_token = response["openid_token"]; -		LLViewerMedia::openIDSetup(openid_url, openid_token); +		LLViewerMedia::getInstance()->openIDSetup(openid_url, openid_token);  	}  	gMaxAgentGroups = DEFAULT_MAX_AGENT_GROUPS; | 
