From 81fccd9077df48c717557387f3410b1587d79e2c Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Sun, 11 Jul 2021 23:55:49 -0400
Subject: [PATCH] Misc ui draw opts

---
 indra/llui/llmenugl.cpp                  | 2 +-
 indra/llui/llmenugl.h                    | 2 +-
 indra/llui/llscrolllistcolumn.cpp        | 2 +-
 indra/llui/llscrolllistctrl.cpp          | 8 +++++---
 indra/llui/llscrolllistctrl.h            | 2 +-
 indra/llui/llscrolllistitem.cpp          | 2 +-
 indra/newview/alfloaterregiontracker.cpp | 2 +-
 7 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 765e0a18e67..dd92883270e 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -385,7 +385,7 @@ void LLMenuItemGL::buildDrawLabel( void )
 	mDrawAccelLabel.clear();
 	std::string st = mDrawAccelLabel.getString();
 	appendAcceleratorString( st );
-	mDrawAccelLabel = st;
+	mDrawAccelLabel = std::move(st);
 }
 
 void LLMenuItemGL::onCommit( void )
diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h
index 3e78b69184f..c76a387aaa4 100644
--- a/indra/llui/llmenugl.h
+++ b/indra/llui/llmenugl.h
@@ -123,7 +123,7 @@ class LLMenuItemGL: public LLUICtrl, public ll::ui::SearchableControl
 
 	// change the label
 	void setLabel(LLStringExplicit label ) { mLabel = std::move(label); }	
-	std::string getLabel( void ) const { return mLabel.getString(); }
+	const std::string& getLabel() const { return mLabel.getString(); }
 	virtual BOOL setLabelArg( const std::string& key, const LLStringExplicit& text );
 
 	// Get the parent menu for this item
diff --git a/indra/llui/llscrolllistcolumn.cpp b/indra/llui/llscrolllistcolumn.cpp
index cc9ff7a487d..362c14bcff1 100644
--- a/indra/llui/llscrolllistcolumn.cpp
+++ b/indra/llui/llscrolllistcolumn.cpp
@@ -73,7 +73,7 @@ LLScrollColumnHeader::~LLScrollColumnHeader()
 
 void LLScrollColumnHeader::draw()
 {
-	std::string sort_column = mColumn->mParentCtrl->getSortColumnName();
+	const std::string& sort_column = mColumn->mParentCtrl->getSortColumnName();
 	BOOL draw_arrow = !mColumn->mLabel.empty() 
 			&& mColumn->mParentCtrl->isSorted()
 			// check for indirect sorting column as well as column's sorting name
diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp
index 4c33c5e0995..d519908061e 100644
--- a/indra/llui/llscrolllistctrl.cpp
+++ b/indra/llui/llscrolllistctrl.cpp
@@ -2988,12 +2988,14 @@ void LLScrollListCtrl::onClickColumn(void *userdata)
 	}
 }
 
-std::string LLScrollListCtrl::getSortColumnName()
+const std::string& LLScrollListCtrl::getSortColumnName()
 {
 	LLScrollListColumn* column = mSortColumns.empty() ? NULL : mColumnsIndexed[mSortColumns.back().first];
 
-	if (column) return column->mName;
-	else return "";
+	if (column) 
+		return column->mName;
+	else 
+		return LLStringUtil::null;
 }
 
 BOOL LLScrollListCtrl::hasSortOrder() const
diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h
index da482053f6d..a1b017b535a 100644
--- a/indra/llui/llscrolllistctrl.h
+++ b/indra/llui/llscrolllistctrl.h
@@ -393,7 +393,7 @@ class LLScrollListCtrl : public LLUICtrl, public LLEditMenuHandler,
 	void updateStaticColumnWidth(LLScrollListColumn* col, S32 new_width);
 	S32 getTotalStaticColumnWidth() { return mTotalStaticColumnWidth; }
 
-	std::string     getSortColumnName();
+	const std::string&     getSortColumnName();
 	BOOL			getSortAscending() { return mSortColumns.empty() ? TRUE : mSortColumns.back().second; }
 	BOOL			hasSortOrder() const;
 	void			clearSortOrder();
diff --git a/indra/llui/llscrolllistitem.cpp b/indra/llui/llscrolllistitem.cpp
index 51c615dd003..42f0e8a4b02 100644
--- a/indra/llui/llscrolllistitem.cpp
+++ b/indra/llui/llscrolllistitem.cpp
@@ -148,7 +148,7 @@ void LLScrollListItem::draw(const LLRect& rect, const LLColor4& fg_color, const
 {
 	// draw background rect
 	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
-	LLRect bg_rect = rect;
+	const LLRect& bg_rect = rect;
     if (mSelectedIndex < 0 && getSelected())
     {
         // Whole item is highlighted/selected
diff --git a/indra/newview/alfloaterregiontracker.cpp b/indra/newview/alfloaterregiontracker.cpp
index cb70e849d4b..b33587e2bb7 100644
--- a/indra/newview/alfloaterregiontracker.cpp
+++ b/indra/newview/alfloaterregiontracker.cpp
@@ -111,7 +111,7 @@ void ALFloaterRegionTracker::refresh()
 
 	const std::string& saved_selected_value = mRegionScrollList->getSelectedValue().asString();
 	S32 saved_scroll_pos = mRegionScrollList->getScrollPos();
-	auto sort_column_name = mRegionScrollList->getSortColumnName();
+	const auto& sort_column_name = mRegionScrollList->getSortColumnName();
 	auto sort_asending = mRegionScrollList->getSortAscending();
 	mRegionScrollList->deleteAllItems();
 
-- 
GitLab