From 1cbe0f68c59554e197158c9000dca617cb028056 Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Sun, 15 Apr 2012 23:49:26 -0700
Subject: [PATCH] another round of gcc fixes

---
 indra/llxuixml/llinitparam.h | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h
index fdcdf812943..9135b200ab6 100644
--- a/indra/llxuixml/llinitparam.h
+++ b/indra/llxuixml/llinitparam.h
@@ -360,6 +360,7 @@ namespace LLInitParam
 	{
 	public:
 		typedef TypeValuesHelper<std::string, DERIVED_TYPE, true> self_t;
+		typedef TypeValuesHelper<std::string, DERIVED_TYPE, false> base_t;
 		typedef std::string value_t;
 		typedef std::string name_t;
 		typedef self_t type_value_t;
@@ -375,25 +376,25 @@ namespace LLInitParam
 
 		self_t& operator =(const std::string& name)
 		{
-			if (getValueFromName(name, ParamValue<T>::getValue()))
+			if (base_t::getValueFromName(name, ParamValue<std::string>::getValue()))
 			{
-				setValueName(name);
+				base_t::setValueName(name);
 			}
 			else
 			{
-				setValue(name);
+				ParamValue<std::string>::setValue(name);
 			}
 			return *this;
 		}
 		
 		operator const value_t&() const
 		{
-			return ParamValue<T>::getValue();
+			return ParamValue<std::string>::getValue();
 		}
 
 		const value_t& operator()() const
 		{
-			return ParamValue<T>::getValue();
+			return ParamValue<std::string>::getValue();
 		}
 
 	};
@@ -1778,7 +1779,7 @@ namespace LLInitParam
 		//
 		// Nested classes for declaring parameters
 		//
-		template <typename T, typename NAME_VALUE_LOOKUP = TypeValues<T>::type_value_t >
+		template <typename T, typename NAME_VALUE_LOOKUP = typename TypeValues<T>::type_value_t >
 		class Optional : public TypedParam<T, NAME_VALUE_LOOKUP, false>
 		{
 			typedef TypedParam<T, NAME_VALUE_LOOKUP, false>		super_t;
@@ -1808,7 +1809,7 @@ namespace LLInitParam
 			}
 		};
 
-		template <typename T, typename NAME_VALUE_LOOKUP = TypeValues<T>::type_value_t >
+		template <typename T, typename NAME_VALUE_LOOKUP = typename TypeValues<T>::type_value_t >
 		class Mandatory : public TypedParam<T, NAME_VALUE_LOOKUP, false>
 		{
 			typedef TypedParam<T, NAME_VALUE_LOOKUP, false>		super_t;
@@ -1845,7 +1846,7 @@ namespace LLInitParam
 
 		};
 
-		template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = TypeValues<T>::type_value_t >
+		template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = typename TypeValues<T>::type_value_t >
 		class Multiple : public TypedParam<T, NAME_VALUE_LOOKUP, true>
 		{
 			typedef TypedParam<T, NAME_VALUE_LOOKUP, true>	super_t;
-- 
GitLab