summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2018-08-17 12:38:08 -0700
committerRider Linden <rider@lindenlab.com>2018-08-17 12:38:08 -0700
commitf33d3a40bb361796d0ffcc086eedcb8de204e6ae (patch)
tree29493d10b96a96aa103f476431862a9eb33c9606
parent1716129fd23ff35e030808406af1a8f796dc4b01 (diff)
parent597d28ad343d39f0812f7403119cc817dfab3d64 (diff)
Merge
-rw-r--r--indra/llinventory/llsettingsbase.h2
-rw-r--r--indra/llinventory/llsettingsdaycycle.cpp11
-rw-r--r--indra/llinventory/llsettingsdaycycle.h7
-rw-r--r--indra/llinventory/llsettingssky.h4
-rw-r--r--indra/llinventory/llsettingswater.h4
-rw-r--r--indra/newview/llsettingsvo.cpp12
-rw-r--r--indra/newview/llsettingsvo.h8
7 files changed, 29 insertions, 19 deletions
diff --git a/indra/llinventory/llsettingsbase.h b/indra/llinventory/llsettingsbase.h
index 3356727ee6..9757092794 100644
--- a/indra/llinventory/llsettingsbase.h
+++ b/indra/llinventory/llsettingsbase.h
@@ -200,7 +200,7 @@ public:
virtual bool validate();
- virtual ptr_t buildDerivedClone() = 0;
+ virtual ptr_t buildDerivedClone() const = 0;
class Validator
{
diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp
index 364ff570ed..25cd99b997 100644
--- a/indra/llinventory/llsettingsdaycycle.cpp
+++ b/indra/llinventory/llsettingsdaycycle.cpp
@@ -609,7 +609,16 @@ LLSettingsDay::validation_list_t LLSettingsDay::validationList()
return validation;
}
-LLSettingsDay::CycleTrack_t &LLSettingsDay::getCycleTrack(S32 track)
+LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrack(S32 track)
+{
+ static CycleTrack_t emptyTrack;
+ if (mDayTracks.size() <= track)
+ return emptyTrack;
+
+ return mDayTracks[track];
+}
+
+const LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrackConst(S32 track) const
{
static CycleTrack_t emptyTrack;
if (mDayTracks.size() <= track)
diff --git a/indra/llinventory/llsettingsdaycycle.h b/indra/llinventory/llsettingsdaycycle.h
index 0ee5ce3e0b..46dc0cec74 100644
--- a/indra/llinventory/llsettingsdaycycle.h
+++ b/indra/llinventory/llsettingsdaycycle.h
@@ -80,8 +80,8 @@ public:
bool initialize(bool validate_frames = false);
- virtual ptr_t buildClone() = 0;
- virtual ptr_t buildDeepCloneAndUncompress() = 0;
+ virtual ptr_t buildClone() const = 0;
+ virtual ptr_t buildDeepCloneAndUncompress() const = 0;
virtual LLSD getSettings() const SETTINGS_OVERRIDE;
virtual LLSettingsType::type_e getSettingsTypeValue() const SETTINGS_OVERRIDE { return LLSettingsType::ST_DAYCYCLE; }
@@ -118,6 +118,7 @@ public:
void setInitialized(bool value = true) { mInitialized = value; }
CycleTrack_t & getCycleTrack(S32 track);
+ const CycleTrack_t & getCycleTrackConst(S32 track) const;
bool clearCycleTrack(S32 track);
bool replaceCycleTrack(S32 track, const CycleTrack_t &source);
bool isTrackEmpty(S32 track) const;
@@ -125,7 +126,7 @@ public:
virtual validation_list_t getValidationList() const SETTINGS_OVERRIDE;
static validation_list_t validationList();
- virtual LLSettingsBase::ptr_t buildDerivedClone() SETTINGS_OVERRIDE { return buildClone(); }
+ virtual LLSettingsBase::ptr_t buildDerivedClone() const SETTINGS_OVERRIDE { return buildClone(); }
LLSettingsBase::TrackPosition getUpperBoundFrame(S32 track, const LLSettingsBase::TrackPosition& keyframe);
LLSettingsBase::TrackPosition getLowerBoundFrame(S32 track, const LLSettingsBase::TrackPosition& keyframe);
diff --git a/indra/llinventory/llsettingssky.h b/indra/llinventory/llsettingssky.h
index e2a6e6e8ae..e0ad480c0a 100644
--- a/indra/llinventory/llsettingssky.h
+++ b/indra/llinventory/llsettingssky.h
@@ -96,7 +96,7 @@ public:
LLSettingsSky(const LLSD &data);
virtual ~LLSettingsSky() { };
- virtual ptr_t buildClone() = 0;
+ virtual ptr_t buildClone() const = 0;
//---------------------------------------------------------------------
virtual std::string getSettingsType() const SETTINGS_OVERRIDE { return std::string("sky"); }
@@ -231,7 +231,7 @@ public:
LLColor3 getSunDiffuse() const;
LLColor4 getTotalAmbient() const;
- virtual LLSettingsBase::ptr_t buildDerivedClone() SETTINGS_OVERRIDE { return buildClone(); }
+ virtual LLSettingsBase::ptr_t buildDerivedClone() const SETTINGS_OVERRIDE { return buildClone(); }
static LLUUID GetDefaultAssetId();
static LLUUID GetDefaultSunTextureId();
diff --git a/indra/llinventory/llsettingswater.h b/indra/llinventory/llsettingswater.h
index b525912898..b33b082bbf 100644
--- a/indra/llinventory/llsettingswater.h
+++ b/indra/llinventory/llsettingswater.h
@@ -55,7 +55,7 @@ public:
LLSettingsWater(const LLSD &data);
virtual ~LLSettingsWater() { };
- virtual ptr_t buildClone() = 0;
+ virtual ptr_t buildClone() const = 0;
//---------------------------------------------------------------------
virtual std::string getSettingsType() const SETTINGS_OVERRIDE { return std::string("water"); }
@@ -226,7 +226,7 @@ public:
static LLSD translateLegacySettings(LLSD legacy);
- virtual LLSettingsBase::ptr_t buildDerivedClone() SETTINGS_OVERRIDE { return buildClone(); }
+ virtual LLSettingsBase::ptr_t buildDerivedClone() const SETTINGS_OVERRIDE { return buildClone(); }
static LLUUID GetDefaultAssetId();
static LLUUID GetDefaultWaterNormalAssetId();
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index 55b4b88c7d..c56b5df74d 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -486,7 +486,7 @@ LLSettingsSky::ptr_t LLSettingsVOSky::buildDefaultSky()
return skyp;
}
-LLSettingsSky::ptr_t LLSettingsVOSky::buildClone()
+LLSettingsSky::ptr_t LLSettingsVOSky::buildClone() const
{
LLSD settings = cloneSettings();
@@ -737,7 +737,7 @@ LLSettingsWater::ptr_t LLSettingsVOWater::buildDefaultWater()
return waterp;
}
-LLSettingsWater::ptr_t LLSettingsVOWater::buildClone()
+LLSettingsWater::ptr_t LLSettingsVOWater::buildClone() const
{
LLSD settings = cloneSettings();
LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
@@ -1113,7 +1113,7 @@ void LLSettingsVODay::combineIntoDayCycle(LLSettingsDay::ptr_t pday, LLSettingsB
}
-LLSettingsDay::ptr_t LLSettingsVODay::buildClone()
+LLSettingsDay::ptr_t LLSettingsVODay::buildClone() const
{
LLSD settings = cloneSettings();
@@ -1131,7 +1131,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildClone()
return dayp;
}
-LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress()
+LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress() const
{
// no need for SETTING_TRACKS or SETTING_FRAMES, so take base LLSD
LLSD settings = llsd_clone(mSettings);
@@ -1140,8 +1140,8 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress()
for (S32 i = 0; i < LLSettingsDay::TRACK_MAX; ++i)
{
- LLSettingsDay::CycleTrack_t track = getCycleTrack(i);
- LLSettingsDay::CycleTrack_t::iterator iter = track.begin();
+ const LLSettingsDay::CycleTrack_t& track = getCycleTrackConst(i);
+ LLSettingsDay::CycleTrack_t::const_iterator iter = track.begin();
while (iter != track.end())
{
// 'Unpack', usually for editing
diff --git a/indra/newview/llsettingsvo.h b/indra/newview/llsettingsvo.h
index 46f91c2264..d314eed24e 100644
--- a/indra/newview/llsettingsvo.h
+++ b/indra/newview/llsettingsvo.h
@@ -89,7 +89,7 @@ public:
static ptr_t buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings);
static ptr_t buildDefaultSky();
- virtual ptr_t buildClone() override;
+ virtual ptr_t buildClone() const SETTINGS_OVERRIDE;
static ptr_t buildFromLegacyPresetFile(const std::string &name, const std::string &path);
@@ -123,7 +123,7 @@ public:
static ptr_t buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings);
static ptr_t buildDefaultWater();
- virtual ptr_t buildClone() override;
+ virtual ptr_t buildClone() const SETTINGS_OVERRIDE;
static ptr_t buildFromLegacyPresetFile(const std::string &name, const std::string &path);
@@ -158,8 +158,8 @@ public:
static ptr_t buildDefaultDayCycle();
static ptr_t buildFromEnvironmentMessage(LLSD settings);
static void buildFromOtherSetting(LLSettingsBase::ptr_t settings, asset_built_fn cb);
- virtual ptr_t buildClone() override;
- virtual ptr_t buildDeepCloneAndUncompress() override;
+ virtual ptr_t buildClone() const SETTINGS_OVERRIDE;
+ virtual ptr_t buildDeepCloneAndUncompress() const SETTINGS_OVERRIDE;
static LLSD convertToLegacy(const ptr_t &);