summaryrefslogtreecommitdiff
path: root/indra/llxml
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llxml')
-rw-r--r--indra/llxml/llcontrol.cpp4
-rw-r--r--indra/llxml/llcontrol.h5
2 files changed, 8 insertions, 1 deletions
diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp
index 78b2181e86..d3778853dd 100644
--- a/indra/llxml/llcontrol.cpp
+++ b/indra/llxml/llcontrol.cpp
@@ -682,6 +682,8 @@ U32 LLControlGroup::loadFromFileLegacy(const LLString& filename, BOOL require_de
llassert(control);
+ mLoadedSettings.insert(name);
+
switch(control->mType)
{
case TYPE_F32:
@@ -905,6 +907,8 @@ U32 LLControlGroup::loadFromFile(const LLString& filename, BOOL require_declarat
llassert(control);
+ mLoadedSettings.insert(name);
+
switch(control->mType)
{
case TYPE_F32:
diff --git a/indra/llxml/llcontrol.h b/indra/llxml/llcontrol.h
index 849118a75b..a1a2a4c851 100644
--- a/indra/llxml/llcontrol.h
+++ b/indra/llxml/llcontrol.h
@@ -200,11 +200,14 @@ public:
typedef std::map<LLString, LLPointer<LLControlBase> > ctrl_name_table_t;
ctrl_name_table_t mNameTable;
std::set<LLString> mWarnings;
-
+ std::set<LLString> mLoadedSettings; // Filled in with names loaded from settings.xml
+
public:
LLControlGroup();
~LLControlGroup();
void cleanup();
+ bool hasLoaded(const LLString& name) { return mLoadedSettings.find(name) != mLoadedSettings.end(); }
+ void clearLoaded() { mLoadedSettings.clear(); } // Call once we've done any settings tweaks which may need this data
LLControlBase* getControl(const LLString& name);
LLSD registerListener(const LLString& name, LLSimpleListenerObservable *listener);