From 5b5ee18f6fb1bb6c5ef8590f933014069c5613a9 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Mon, 24 Apr 2017 19:55:55 +0300 Subject: MAINT-7330 Fixed circularity of environmental singletons --- indra/newview/lldaycyclemanager.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'indra/newview/lldaycyclemanager.cpp') diff --git a/indra/newview/lldaycyclemanager.cpp b/indra/newview/lldaycyclemanager.cpp index 803e2b2fb2..e7bf989850 100644 --- a/indra/newview/lldaycyclemanager.cpp +++ b/indra/newview/lldaycyclemanager.cpp @@ -163,6 +163,28 @@ void LLDayCycleManager::initSingleton() { LL_DEBUGS("Windlight") << "Loading all day cycles" << LL_ENDL; loadAllPresets(); + + // presets loaded, can set params + if (LLEnvManagerNew::instance().getUseDayCycle()) + { + LLSD params; + std::string preferred_day = LLEnvManagerNew::getInstance()->getDayCycleName(); + if (getPreset(preferred_day, params)) + { + // Same as through useDayCycle(), but it will call LLDayCycleManager and we are initializing + // so no need to cycle + LLWLParamManager::getInstance()->applyDayCycleParams(params, LLEnvKey::SCOPE_LOCAL); + } + else + { + LL_WARNS() << "No day cycle named " << preferred_day << ", reverting LLWLParamManager to defaults" << LL_ENDL; + LLWLParamManager::getInstance()->setDefaultDay(); + } + } + else + { + LLWLParamManager::getInstance()->setDefaultDay(); + } } void LLDayCycleManager::loadAllPresets() -- cgit v1.3