summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llsettingsbase.cpp6
-rw-r--r--indra/newview/llsettingsbase.h6
2 files changed, 10 insertions, 2 deletions
diff --git a/indra/newview/llsettingsbase.cpp b/indra/newview/llsettingsbase.cpp
index 904d0dd07c..e36c6d4a84 100644
--- a/indra/newview/llsettingsbase.cpp
+++ b/indra/newview/llsettingsbase.cpp
@@ -48,13 +48,15 @@ const F32Seconds LLSettingsBlender::DEFAULT_THRESHOLD(0.01);
//=========================================================================
LLSettingsBase::LLSettingsBase():
mSettings(LLSD::emptyMap()),
- mDirty(true)
+ mDirty(true),
+ mHashValue(0)
{
}
LLSettingsBase::LLSettingsBase(const LLSD setting) :
mSettings(setting),
- mDirty(true)
+ mDirty(true),
+ mHashValue(0)
{
}
diff --git a/indra/newview/llsettingsbase.h b/indra/newview/llsettingsbase.h
index d32fcb26e8..d304b8702a 100644
--- a/indra/newview/llsettingsbase.h
+++ b/indra/newview/llsettingsbase.h
@@ -67,6 +67,11 @@ public:
inline bool isDirty() const { return mDirty; }
inline void setDirtyFlag(bool dirty) { mDirty = dirty; }
+ inline size_t getHash() const
+ {
+ return boost::hash<LLSD>{}(mSettings);
+ }
+
inline LLUUID getId() const
{
return getValue(SETTING_ID).asUUID();
@@ -227,6 +232,7 @@ protected:
private:
bool mDirty;
+ size_t mHashValue;
LLSD combineSDMaps(const LLSD &first, const LLSD &other) const;