From aa5bd09f1ce5406f0d1d7ac36d2fb7cb30b29fd2 Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Fri, 23 Mar 2012 13:41:19 -0700
Subject: [PATCH] fix for gcc

---
 indra/newview/llfolderview.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 70899014cb4..bad0d8cd8f5 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -2265,14 +2265,20 @@ void LLFolderView::doIdle()
 		LLFolderViewItem* selected_itemp = mSelectedItems.empty() ? NULL : mSelectedItems.back();
 		if (!mAutoSelectOverride && (!selected_itemp || !selected_itemp->potentiallyFiltered()))
 		{
-			applyFunctorRecursively(LLSelectFirstFilteredItem());
+			// these are named variables to get around gcc not binding non-const references to rvalues
+			// and functor application is inherently non-const to allow for stateful functors
+			LLSelectFirstFilteredItem functor;
+			applyFunctorRecursively(functor);
 		}
 
 		// Open filtered folders for folder views with mAutoSelectOverride=TRUE.
 		// Used by LLPlacesFolderView.
 		if (mAutoSelectOverride && !mFilter->getFilterSubString().empty())
 		{
-			applyFunctorRecursively(LLOpenFilteredFolders());
+			// these are named variables to get around gcc not binding non-const references to rvalues
+			// and functor application is inherently non-const to allow for stateful functors
+			LLOpenFilteredFolders functor;
+			applyFunctorRecursively(functor);
 		}
 
 		scrollToShowSelection();
-- 
GitLab