diff options
author | Steven Bennetts <steve@lindenlab.com> | 2008-03-11 01:47:36 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2008-03-11 01:47:36 +0000 |
commit | 377ae59c21215473cf05e3cb8a86eb14c9e7715c (patch) | |
tree | a8cb48901c3c30bc1c2ddfd5d8b2d0cab7c6c95d /indra/llxml | |
parent | 9d12bd5e273b8cb032e25574461a8b4528d96343 (diff) |
merge Branch_1-19-1-Viewer -r 80930 : 81609 -> release
DEV-11202: Unhandled Excpetion in pipeline.cpp.
Merged over updated windlight ui help text from windlight14.
Reverting a const change in a virtual that was not propagated to all overrides.
DEV-10957 stop and pause Media and music buttons do not work
DEV-10762 Displayed page in the client browser disappears when crossing property boundaries.
DEV-11220 replace misspellings in alerts.xml parameters of 'messsage'
DEV-11221 fix a misspelling of 'participants' in floater_chat_history.xml tooltip
DEV-11193 clean up some viewer strings related to Windlight help text
svn merge -r81144:81147 svn+ssh://svn/svn/linden/branches/1-19-1-viewer-threads
DEV-11110 Media browser history dropdown does not save items across sessions
Ran the xuiparse -process tool on all en-us xml files. This does NOT change any data, merely reorders attributes and cleans up tab/spacing.
DEV-11349 XML CLEANUP: fix duplicate sibling names in en-us xui files
DEV-11348 Change to llmimetypes.cpp broke Media Type dropdown
dev-10623 "parcels that played movies no longer work in combo-merge-ui"
DEV-11379 - crash in LLTabContainer::draw()
DEV-11377 Elminiate dangerous LLLinkedList and LLDoubleLinkedList from newview
DEV-11158 sculpties on the top10 crash list
DEV-11404 "Send Current URL to Parcel" does not set the MIME type
merge 80958:80959 maint-ui-9-qa, DEV-11105 -- Searching for people with 3 characters like "j l" hurts the database.
DEV-10489: no draw distance cheating
DEV-879: water noise frequency
DEV-10764: macbook air support
DEV-10878: Linux Intel945 support
DEV-7551: featuretable adjustments for framerate.
DEV-11426 Enormous mini-map.
DEV-11505 - Crash in gunzip_file.
Removed final LinkedList, SkipMap, and AssocList templates from the Viewer!
DEV-11115 truncated word in the Advanced Water Editor's modal help dialog
Diffstat (limited to 'indra/llxml')
-rw-r--r-- | indra/llxml/llcontrol.cpp | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp index d3778853dd..4ad44f455f 100644 --- a/indra/llxml/llcontrol.cpp +++ b/indra/llxml/llcontrol.cpp @@ -69,8 +69,6 @@ std::set<LLControlBase*> LLControlBase::mChangedControls; const S32 CURRENT_VERSION = 101; -BOOL control_insert_before( LLControlBase* first, LLControlBase* second ); - BOOL LLControl::llsd_compare(const LLSD& a, const LLSD & b) { switch (mType) @@ -1033,6 +1031,13 @@ U32 LLControlGroup::loadFromFile(const LLString& filename, BOOL require_declarat return validitems; } +struct compare_controls +{ + bool operator() (const LLControlBase* const a, const LLControlBase* const b) const + { + return a->getName() < b->getName(); + } +}; U32 LLControlGroup::saveToFile(const LLString& filename, BOOL nondefault_only) { @@ -1042,13 +1047,14 @@ U32 LLControlGroup::saveToFile(const LLString& filename, BOOL nondefault_only) // place the objects in a temporary container that enforces a sort // order to ease manual editing of the file - LLLinkedList< LLControlBase > controls; - controls.setInsertBefore( &control_insert_before ); - LLString name; + + typedef std::set< LLControlBase*, compare_controls > control_list_t; + control_list_t controls; + for (ctrl_name_table_t::iterator iter = mNameTable.begin(); iter != mNameTable.end(); iter++) { - name = iter->first; + LLString name = iter->first; if (name.empty()) { CONTROL_ERRS << "Control with no name found!!!" << llendl; @@ -1065,7 +1071,7 @@ U32 LLControlGroup::saveToFile(const LLString& filename, BOOL nondefault_only) { if (!(nondefault_only && (control->mIsDefault))) { - controls.addDataSorted( control ); + controls.insert( control ); } else { @@ -1088,12 +1094,12 @@ U32 LLControlGroup::saveToFile(const LLString& filename, BOOL nondefault_only) // Write file version file << "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n"; file << "<settings version = \"" << CURRENT_VERSION << "\">\n"; - for( LLControlBase* control = controls.getFirstData(); - control != NULL; - control = controls.getNextData() ) + for (control_list_t::iterator iter = controls.begin(); + iter != controls.end(); ++iter) { + LLControlBase* control = *iter; file << "\t<!--" << control->comment() << "-->" << ENDL; - name = control->name(); + LLString name = control->getName(); switch (control->type()) { case TYPE_U32: @@ -1165,7 +1171,7 @@ U32 LLControlGroup::saveToFile(const LLString& filename, BOOL nondefault_only) file << "</settings>\n"; file.close(); - return controls.getLength(); + return controls.size(); } void LLControlGroup::applyOverrides(const std::map<std::string, std::string>& overrides) @@ -1435,8 +1441,3 @@ void main() } #endif -BOOL control_insert_before( LLControlBase* first, LLControlBase* second ) -{ - return ( first->getName().compare(second->getName()) < 0 ); -} - |