summaryrefslogtreecommitdiff
path: root/indra/newview/llgroupmgr.cpp
diff options
context:
space:
mode:
authorandreykproductengine <akleshchev@productengine.com>2014-07-17 20:30:35 +0300
committerandreykproductengine <akleshchev@productengine.com>2014-07-17 20:30:35 +0300
commit9f5fc6efbd3f3e4418372425734372b5a9bb5d35 (patch)
treed986b54eb33c392204b0e5634fe98b9acc130e89 /indra/newview/llgroupmgr.cpp
parent0f22bcdff029ba7c420ec04ce992251ab1d4be6f (diff)
MAINT-4241 FIXED [Group Bans] Ban member(s) button is not greyed out for banning group owners. Viewer gives message that you ejected group owner.
Diffstat (limited to 'indra/newview/llgroupmgr.cpp')
-rwxr-xr-xindra/newview/llgroupmgr.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp
index 98036f3a20..56e671d902 100755
--- a/indra/newview/llgroupmgr.cpp
+++ b/indra/newview/llgroupmgr.cpp
@@ -2154,6 +2154,22 @@ void LLGroupMgr::processCapGroupMembersRequest(const LLSD& content)
online_status,
is_owner);
+ LLGroupMemberData* member_old = group_datap->mMembers[member_id];
+ if (member_old && group_datap->mRoleMemberDataComplete)
+ {
+ LLGroupMemberData::role_list_t::iterator rit = member_old->roleBegin();
+ LLGroupMemberData::role_list_t::iterator end = member_old->roleEnd();
+
+ for ( ; rit != end; ++rit)
+ {
+ data->addRole((*rit).first,(*rit).second);
+ }
+ }
+ else
+ {
+ group_datap->mRoleMemberDataComplete = false;
+ }
+
group_datap->mMembers[member_id] = data;
}
@@ -2173,7 +2189,7 @@ void LLGroupMgr::processCapGroupMembersRequest(const LLSD& content)
group_datap->mMemberDataComplete = true;
group_datap->mMemberRequestID.setNull();
// Make the role-member data request
- if (group_datap->mPendingRoleMemberRequest)
+ if (group_datap->mPendingRoleMemberRequest || !group_datap->mRoleMemberDataComplete)
{
group_datap->mPendingRoleMemberRequest = false;
LLGroupMgr::getInstance()->sendGroupRoleMembersRequest(group_id);