From 0c9d8d917a4281e2dea7fa2044e86735caca2aa9 Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Thu, 10 Nov 2011 16:02:57 -0800
Subject: [PATCH] fixed build fixed handle downcast not initiating handle

---
 indra/llui/llhandle.h                 | 2 +-
 indra/llxuixml/llinitparam.h          | 2 ++
 indra/newview/llfloaterwebcontent.cpp | 4 ++--
 indra/newview/llfloaterwebcontent.h   | 1 +
 4 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/indra/llui/llhandle.h b/indra/llui/llhandle.h
index c8fff72110e..e6390ee599b 100644
--- a/indra/llui/llhandle.h
+++ b/indra/llui/llhandle.h
@@ -169,7 +169,7 @@ class LLHandleProvider
 	typename LLHandle<U> getDerivedHandle(typename boost::enable_if< typename boost::is_convertible<U*, T*> >::type* dummy = 0) const
 	{
 		LLHandle<U> downcast_handle;
-		downcast_handle.mTombStone = mHandle.mTombStone;
+		downcast_handle.mTombStone = getHandle().mTombStone;
 		return downcast_handle;
 	}
 
diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h
index 169a724bca3..f5f68767367 100644
--- a/indra/llxuixml/llinitparam.h
+++ b/indra/llxuixml/llinitparam.h
@@ -671,6 +671,7 @@ namespace LLInitParam
 		self_t& operator =(const self_t& other)
 		{
 			mValue = other.mValue;
+			return *this;
 		}
 
 	private:
@@ -741,6 +742,7 @@ namespace LLInitParam
 		self_t& operator =(const self_t& other)
 		{
 			*(static_cast<T*>(this)) = other;
+			return *this;
 		}
 	protected:
 		mutable S32 	mValidatedVersion;
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp
index f410c31f44f..d6db7aa6ad4 100644
--- a/indra/newview/llfloaterwebcontent.cpp
+++ b/indra/newview/llfloaterwebcontent.cpp
@@ -167,7 +167,7 @@ LLFloater* LLFloaterWebContent::create( Params p)
 //static
 void LLFloaterWebContent::closeRequest(const std::string &uuid)
 {
-	LLFloaterWebContent* floaterp = getInstance(uuid);
+	LLFloaterWebContent* floaterp = instance_tracker_t::getInstance(uuid);
 	if (floaterp)
 	{
 		floaterp->closeFloater(false);
@@ -177,7 +177,7 @@ void LLFloaterWebContent::closeRequest(const std::string &uuid)
 //static
 void LLFloaterWebContent::geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height)
 {
-	LLFloaterWebContent* floaterp = getInstance(uuid);
+	LLFloaterWebContent* floaterp = instance_tracker_t::getInstance(uuid);
 	if (floaterp)
 	{
 		floaterp->geometryChanged(x, y, width, height);
diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h
index 6fc66d1ad8c..9d90306a9c8 100644
--- a/indra/newview/llfloaterwebcontent.h
+++ b/indra/newview/llfloaterwebcontent.h
@@ -43,6 +43,7 @@ class LLFloaterWebContent :
 	public LLInstanceTracker<LLFloaterWebContent, std::string>
 {
 public:
+	typedef LLInstanceTracker<LLFloaterWebContent, std::string> instance_tracker_t;
     LOG_CLASS(LLFloaterWebContent);
 
 	struct _Params : public LLInitParam::Block<_Params>
-- 
GitLab