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
master
Paul Guslisty 2010-02-12 16:24:24 +02:00
parent 8b609519ea
commit 5a5262bbdc
3 changed files with 4 additions and 4 deletions

View File

@ -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();

View File

@ -982,7 +982,7 @@ private:
//--------------------------------------------------------------------
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(); }

View File

@ -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;