STORM-1256 WIP Fixed resetting the Environment tab if a server env. update comes while your preference is using personal env. settings.

The fix is to re-add server skies to our WL param mgr regardless of user preferences.
meow-7.2.2
Vadim ProductEngine 2011-05-24 19:05:41 +03:00
parent 9c2c6c7a6c
commit 047f69bf61
2 changed files with 6 additions and 9 deletions

View File

@ -820,10 +820,8 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content)
mCachedRegionPrefs = new_settings;
// If using server settings, update managers.
if (getUseRegionSettings())
{
updateManagersFromPrefs(mInterpNextChangeMessage);
}
// This also adds server skies to the WL param mgr.
updateManagersFromPrefs(mInterpNextChangeMessage);
// Let interested parties know about the region settings update.
mRegionSettingsChangeSignal();

View File

@ -589,10 +589,12 @@ void LLWLParamManager::applyUserPrefs(bool interpolate)
// Remove all region sky presets because they may belong to a previously visited region.
clearParamSetsOfScope(LLEnvKey::SCOPE_REGION);
// Add all sky presets belonging to the current region.
const LLEnvironmentSettings& region_settings = LLEnvManagerNew::instance().getRegionSettings();
addAllSkies(LLEnvKey::SCOPE_REGION, region_settings.getSkyMap());
if (LLEnvManagerNew::instance().getUseRegionSettings()) // apply region-wide settings
{
const LLEnvironmentSettings& region_settings = LLEnvManagerNew::instance().getRegionSettings();
if (region_settings.getSkyMap().size() == 0)
{
applyDefaults();
@ -602,9 +604,6 @@ void LLWLParamManager::applyUserPrefs(bool interpolate)
// *TODO: Support fixed sky from region.
LL_DEBUGS("Windlight") << "Applying region sky" << LL_ENDL;
// Add all sky presets belonging to the current region.
addAllSkies(LLEnvKey::SCOPE_REGION, region_settings.getSkyMap());
// Apply region day cycle.
mDay.loadDayCycle(region_settings.getWLDayCycle(), LLEnvKey::SCOPE_REGION);
resetAnimator(region_settings.getDayTime(), true);