diff options
| author | andreykproductengine <akleshchev@productengine.com> | 2017-04-25 17:48:34 +0300 |
|---|---|---|
| committer | andreykproductengine <akleshchev@productengine.com> | 2017-04-25 17:48:34 +0300 |
| commit | 0dcb423cf3dc42e11621eece972801b036657e91 (patch) | |
| tree | 88b0493918f6340d2e038b9cc0cde1cad6f493ff /indra/newview/llenvmanager.cpp | |
| parent | 288f93c7e0aa605464ddb09a3cdca504c0805c48 (diff) | |
MAINT-7145 Eliminate LLSingleton circular references
Diffstat (limited to 'indra/newview/llenvmanager.cpp')
| -rw-r--r-- | indra/newview/llenvmanager.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/indra/newview/llenvmanager.cpp b/indra/newview/llenvmanager.cpp index b97e483fd9..12c3070474 100644 --- a/indra/newview/llenvmanager.cpp +++ b/indra/newview/llenvmanager.cpp @@ -476,7 +476,7 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content) mCachedRegionPrefs = new_settings; // Load region sky presets. - LLWLParamManager::instance().refreshRegionPresets(); + LLWLParamManager::instance().refreshRegionPresets(getRegionSettings().getSkyMap()); // If using server settings, update managers. if (getUseRegionSettings()) @@ -509,6 +509,25 @@ void LLEnvManagerNew::initSingleton() LL_DEBUGS("Windlight") << "Initializing LLEnvManagerNew" << LL_ENDL; loadUserPrefs(); + + // preferences loaded, can set params + std::string preferred_day = getDayCycleName(); + if (!useDayCycle(preferred_day, LLEnvKey::SCOPE_LOCAL)) + { + LL_WARNS() << "No day cycle named " << preferred_day << ", reverting LLWLParamManager to defaults" << LL_ENDL; + LLWLParamManager::instance().setDefaultDay(); + } + + std::string sky = getSkyPresetName(); + if (!useSkyPreset(sky)) + { + LL_WARNS() << "No sky preset named " << sky << ", falling back to defaults" << LL_ENDL; + LLWLParamManager::instance().setDefaultSky(); + + // *TODO: Fix user preferences accordingly. + } + + LLWLParamManager::instance().resetAnimator(0.5 /*noon*/, getUseDayCycle()); } void LLEnvManagerNew::updateSkyFromPrefs() |
