From 5a5262bbdc72f5040cd681b452417c29c86cfafe Mon Sep 17 00:00:00 2001
From: Paul Guslisty <pguslisty@productengine.com>
Date: Fri, 12 Feb 2010 16:24:24 +0200
Subject: [PATCH] Fixed normal bug EXT - 5248 (Default group icon for IM
 sessions in multifloater). The problem was in LLAgent::isInGroup() logic. In
 God Mode it always returned true, even if it was not so. Added ability to
 ignore God Mode in LLAgent::isInGroup().

--HG--
branch : product-engine
---
 indra/newview/llagent.cpp              | 4 ++--
 indra/newview/llagent.h                | 2 +-
 indra/newview/llimfloatercontainer.cpp | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 59f61dfdfb7..7929946620b 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -5027,9 +5027,9 @@ void LLAgent::buildFullnameAndTitle(std::string& name) const
 	}
 }
 
-BOOL LLAgent::isInGroup(const LLUUID& group_id) const
+BOOL LLAgent::isInGroup(const LLUUID& group_id, BOOL ingnore_God_mod /* FALSE */) const
 {
-	if (isGodlike())
+	if (!ingnore_God_mod && isGodlike())
 		return true;
 
 	S32 count = mGroups.count();
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index beede7fbe34..1573fd71319 100644
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -982,7 +982,7 @@ class LLAgent : public LLOldEvents::LLObservable
 	//--------------------------------------------------------------------
 public:
 	// Checks against all groups in the entire agent group list.
-	BOOL 			isInGroup(const LLUUID& group_id) const;
+	BOOL 			isInGroup(const LLUUID& group_id, BOOL ingnore_God_mod = FALSE) const;
 protected:
 	// Only used for building titles.
 	BOOL			isGroupMember() const 		{ return !mGroupID.isNull(); } 
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 7162386d082..49521b5987d 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -93,7 +93,7 @@ void LLIMFloaterContainer::addFloater(LLFloater* floaterp,
 
 	LLIconCtrl* icon = 0;
 
-	if(gAgent.isInGroup(session_id))
+	if(gAgent.isInGroup(session_id, TRUE))
 	{
 		LLGroupIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams<LLGroupIconCtrl>();
 		icon_params.group_id = session_id;
-- 
GitLab