diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2011-07-15 12:14:34 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2011-07-15 12:14:34 -0600 |
commit | d9512674678bbb80b8d0d9c5105f56dbd1b2252b (patch) | |
tree | c3c8d64c683cd46d9d1e5d953dc6caca22213db4 /indra/llxml/llcontrol.cpp | |
parent | d31e6735370711088f01cff448aa22f71c4c10c4 (diff) | |
parent | 44c7c6feaa824f4049d326965cb066e76ebefee3 (diff) |
Merge from viewer-development
Diffstat (limited to 'indra/llxml/llcontrol.cpp')
-rw-r--r-- | indra/llxml/llcontrol.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp index 6c72609122..0809d95628 100644 --- a/indra/llxml/llcontrol.cpp +++ b/indra/llxml/llcontrol.cpp @@ -835,11 +835,9 @@ U32 LLControlGroup::saveToFile(const std::string& filename, BOOL nondefault_only return num_saved; } -U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_values) +U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_values, bool save_values) { - std::string name; LLSD settings; - LLSD control_map; llifstream infile; infile.open(filename); if(!infile.is_open()) @@ -863,8 +861,8 @@ U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_v for(LLSD::map_const_iterator itr = settings.beginMap(); itr != settings.endMap(); ++itr) { bool persist = true; - name = (*itr).first; - control_map = (*itr).second; + std::string const & name = itr->first; + LLSD const & control_map = itr->second; if(control_map.has("Persist")) { @@ -908,8 +906,7 @@ U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_v } else if(existing_control->isPersisted()) { - - existing_control->setValue(control_map["Value"]); + existing_control->setValue(control_map["Value"], save_values); } // *NOTE: If not persisted and not setting defaults, // the value should not get loaded. |