diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 7cd9503e4d992dfe6e9b614329ceac7583442453..0e1c4f943468441151193def0616499d121d1831 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -851,8 +851,6 @@ void LLEnvironment::initSingleton() } LLEventPumps::instance().obtain(PUMP_EXPERIENCE).listen(LISTENER_NAME, [this](LLSD message) { listenExperiencePump(message); return false; }); - - loadFromSettings(); } void LLEnvironment::cleanupSingleton() diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 8093a3a589e244d3d29a1d69fcafcf1d52222e34..a1d1e85492b167f92f1a4b2345e73935af26fd59 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1878,7 +1878,11 @@ bool idle_startup() } display_startup(); - + + // Load stored local environment if needed. Only should be done once at least + // initial region data got loaded to avoid race condition with region's environment + LLEnvironment::instance().loadFromSettings(); + // *TODO : Uncomment that line once the whole grid migrated to SLM and suppress it from LLAgent::handleTeleportFinished() (llagent.cpp) //check_merchant_status();