summaryrefslogtreecommitdiff
path: root/indra/llinventory
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2018-01-25 17:21:25 -0800
committerRider Linden <rider@lindenlab.com>2018-01-25 17:21:25 -0800
commitfbd8a98300277bdbc1885c25eea290560fd8c6c1 (patch)
tree93279d01ba2db5ba25d7fdffe69f46df29e8ed3b /indra/llinventory
parent9b05a8d1cde1d54e60bf4ead021372427c7d11fd (diff)
Selects correct day cycle. Fix an error validating legacy daycycles.
Diffstat (limited to 'indra/llinventory')
-rw-r--r--indra/llinventory/llparcel.cpp10
-rw-r--r--indra/llinventory/llparcel.h20
-rw-r--r--indra/llinventory/llsettingsdaycycle.cpp3
3 files changed, 23 insertions, 10 deletions
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp
index f53ef5e0ff..411c35ed6b 100644
--- a/indra/llinventory/llparcel.cpp
+++ b/indra/llinventory/llparcel.cpp
@@ -236,6 +236,7 @@ void LLParcel::init(const LLUUID &owner_id,
mDayOffset = S64Seconds(LLSettingsDay::DEFAULT_DAYOFFSET);
mIsDefaultDayCycle = true;
mDayCycle.reset();
+ mDayCycleHash = 0;
}
void LLParcel::overrideOwner(const LLUUID& owner_id, BOOL is_group_owned)
@@ -1272,3 +1273,12 @@ U32 LLParcel::countExperienceKeyType( U32 type )
boost::end(mExperienceKeys | boost::adaptors::map_values),
std::bind2nd(std::equal_to<U32>(), type));
}
+
+void LLParcel::clearParcelDayCycleInfo()
+{
+ mDayLength = S64Seconds(LLSettingsDay::DEFAULT_DAYLENGTH);
+ mDayOffset = S64Seconds(LLSettingsDay::DEFAULT_DAYOFFSET);
+ mIsDefaultDayCycle = true;
+ mDayCycle.reset();
+ mDayCycleHash = 0;
+}
diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h
index 7b4647cc5f..6bbd5a949d 100644
--- a/indra/llinventory/llparcel.h
+++ b/indra/llinventory/llparcel.h
@@ -591,14 +591,17 @@ public:
BOOL getPreviouslyGroupOwned() const { return mPreviouslyGroupOwned; }
BOOL getSellWithObjects() const { return (mParcelFlags & PF_SELL_PARCEL_OBJECTS) ? TRUE : FALSE; }
- S64Seconds getDayLength() const { return mDayLength; }
- void setDayLength(S64SecondsImplicit seconds) { mDayLength = seconds; }
- S64Seconds getDayOffset() const { return mDayOffset; }
- void setDayOffset(S64SecondsImplicit seconds) { mDayOffset = seconds; }
- bool getUsesDefaultDayCycle() const { return mIsDefaultDayCycle; }
- void setUsesDefaultDayCycle(bool isdefault) { mIsDefaultDayCycle = isdefault; }
- LLSettingsDay::ptr_t getParcelDayCycle() const { return mDayCycle; }
- void setParcelDayCycle(const LLSettingsDay::ptr_t &pday) { mDayCycle = pday; }
+ S64Seconds getDayLength() const { return mDayLength; }
+ void setDayLength(S64SecondsImplicit seconds) { mDayLength = seconds; }
+ S64Seconds getDayOffset() const { return mDayOffset; }
+ void setDayOffset(S64SecondsImplicit seconds) { mDayOffset = seconds; }
+ bool getUsesDefaultDayCycle() const { return mIsDefaultDayCycle; }
+ void setUsesDefaultDayCycle(bool isdefault) { mIsDefaultDayCycle = isdefault; }
+ LLSettingsDay::ptr_t getParcelDayCycle() const { return mDayCycle; }
+ void setParcelDayCycle(const LLSettingsDay::ptr_t &pday) { mDayCycle = pday; }
+ size_t getParcelDayCycleHash() const { return mDayCycleHash; }
+ void setParcelDayCycleHash(size_t hash) { mDayCycleHash = hash; }
+ void clearParcelDayCycleInfo();
protected:
LLUUID mID;
@@ -678,6 +681,7 @@ protected:
S64Seconds mDayOffset;
bool mIsDefaultDayCycle;
LLSettingsDay::ptr_t mDayCycle;
+ size_t mDayCycleHash;
public:
// HACK, make private
diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp
index c7d5c35c60..1b992ff313 100644
--- a/indra/llinventory/llsettingsdaycycle.cpp
+++ b/indra/llinventory/llsettingsdaycycle.cpp
@@ -376,12 +376,12 @@ namespace
LLSD frame = (*itf).second;
std::string ftype = frame[LLSettingsBase::SETTING_TYPE];
+ LL_WARNS("LAPRAS") << "Validating frame: " << frame << LL_ENDL;
if (ftype == "sky")
{
LLSettingsSky::validation_list_t valid_sky = LLSettingsSky::validationList();
LLSD res_sky = LLSettingsSky::settingValidation(frame, valid_sky);
LL_WARNS("SETTINGS") << "'" << (*itf).first << "' res=" << res_sky << LL_ENDL;
- //_WARNS("SETTINGS") << "success=" << res_sky["success"].asBoolean() << "(" << res_sky["success"].asInteger() << ") res=" << res_sky << LL_ENDL;
if (res_sky["success"].asInteger() == 0)
{
@@ -396,7 +396,6 @@ namespace
LLSettingsWater::validation_list_t valid_h2o = LLSettingsWater::validationList();
LLSD res_h2o = LLSettingsWater::settingValidation(frame, valid_h2o);
LL_WARNS("SETTINGS") << "'" << (*itf).first << "' res=" << res_h2o << LL_ENDL;
- //_WARNS("SETTINGS") << "success=" << res_h2o["success"].asBoolean() << LL_ENDL;
if (res_h2o["success"].asInteger() == 0)
{
LL_WARNS("SETTINGS") << "Water setting named '" << (*itf).first << "' validation failed!: " << res_h2o << LL_ENDL;