diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index b8a87412a..914b5d16a 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -2425,6 +2425,12 @@ void LLScrollListCtrl::onScrollChange( S32 new_pos, LLScrollbar* scrollbar ) } +void LLScrollListCtrl::setSortOrder(const sort_order_t& order) +{ + mSortColumns = order; + updateSort(); +} + void LLScrollListCtrl::sortByColumn(const std::string& name, BOOL ascending) { column_map_t::iterator itor = mColumns.find(name); diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h index d53aa5d4e..93d9c3d70 100644 --- a/indra/llui/llscrolllistctrl.h +++ b/indra/llui/llscrolllistctrl.h @@ -325,10 +325,12 @@ public: S32 getTotalStaticColumnWidth() { return mTotalStaticColumnWidth; } typedef std::pair sort_column_t; - const std::vector& getSortColumns() const { return mSortColumns; } + typedef std::vector sort_order_t; + const sort_order_t& getSortOrder() const { return mSortColumns; } std::string getSortColumnName(); BOOL getSortAscending() { return mSortColumns.empty() ? TRUE : mSortColumns.back().second; } BOOL hasSortOrder() const; + void setSortOrder(const sort_order_t& order); void clearSortOrder(); void setSortEnabled(bool sort); @@ -490,7 +492,7 @@ private: typedef std::vector ordered_columns_t; ordered_columns_t mColumnsIndexed; - std::vector mSortColumns; + sort_order_t mSortColumns; sort_signal_t* mSortCallback; }; // end class LLScrollListCtrl diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index 91f4e9551..3de561214 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -258,7 +258,7 @@ LLFloaterAvatarList::~LLFloaterAvatarList() { mCleanup = true; LLSD sort; - for (const auto& col : mAvatarList->getSortColumns()) + for (const auto& col : mAvatarList->getSortOrder()) { sort.append(mAvatarList->getColumn(col.first)->mName); sort.append(col.second);