From a8bc48b334428ab0d809c93d3d70b8a84df6723e Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 4 Sep 2019 17:30:50 +0300 Subject: SL-11866 [D493] Some startup elements can be executed twice, added protections --- indra/newview/llstartup.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index d7b8080efd..5e9ad1cbce 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -806,7 +806,11 @@ bool idle_startup() gLoginMenuBarView->setEnabled( TRUE ); show_debug_menus(); - LLConversationLog::initParamSingleton(); + if (!LLConversationLog::instanceExists()) + { + // Check existance since this part can be reached twice if login fails + LLConversationLog::initParamSingleton(); + } // Hide the splash screen LLSplashScreen::hide(); @@ -895,8 +899,13 @@ bool idle_startup() LLFile::mkdir(gDirUtilp->getLindenUserDir()); // As soon as directories are ready initialize notification storages - LLPersistentNotificationStorage::initParamSingleton(); - LLDoNotDisturbNotificationStorage::initParamSingleton(); + 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", -- cgit v1.2.3