From bbc1283848e01bfd5284293d044eec53cde10d0e Mon Sep 17 00:00:00 2001
From: Vadim ProductEngine <vsavchuk@productengine.com>
Date: Thu, 2 Jun 2011 19:13:33 +0300
Subject: STORM-1253 WIP Region sky presets are not accessible anymore when
 editing local day cycles.

---
 indra/newview/llfloatereditdaycycle.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'indra')

diff --git a/indra/newview/llfloatereditdaycycle.cpp b/indra/newview/llfloatereditdaycycle.cpp
index 52cfbb512a..36f71d6161 100644
--- a/indra/newview/llfloatereditdaycycle.cpp
+++ b/indra/newview/llfloatereditdaycycle.cpp
@@ -220,6 +220,10 @@ void LLFloaterEditDayCycle::applyTrack()
 
 void LLFloaterEditDayCycle::refreshSkyPresetsList()
 {
+	// Don't allow selecting region skies for a local day cycle,
+	// because thus we may end up with invalid day cycle.
+	bool include_region_skies = getSelectedDayCycle().scope == LLEnvKey::SCOPE_REGION;
+
 	mSkyPresetsCombo->removeall();
 
 	LLWLParamManager& sky_mgr = LLWLParamManager::instance();
@@ -231,6 +235,11 @@ void LLFloaterEditDayCycle::refreshSkyPresetsList()
 		std::string item_title = key.name;
 		if (key.scope == LLEnvKey::SCOPE_REGION)
 		{
+			if (!include_region_skies)
+			{
+				continue;
+			}
+
 			item_title += " (" + getRegionName() + ")";
 		}
 
@@ -689,6 +698,9 @@ void LLFloaterEditDayCycle::onDayCycleSelected()
 		can_edit = canEditRegionSettings();
 	}
 
+	// We may need to add or remove region skies from the list.
+	refreshSkyPresetsList();
+
 	F32 slider_time = mTimeSlider->getCurSliderValue() / sHoursPerDay;
 	LLWLParamManager::instance().applyDayCycleParams(day_data, dc_key.scope, slider_time);
 	loadTrack();
-- 
cgit v1.2.3