diff options
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/llgroupmgr.cpp | 17 | ||||
| -rwxr-xr-x | indra/newview/llpanelgrouproles.cpp | 10 | 
2 files changed, 20 insertions, 7 deletions
| diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp index 86f9da6318..6b4e242e3a 100755 --- a/indra/newview/llgroupmgr.cpp +++ b/indra/newview/llgroupmgr.cpp @@ -2083,11 +2083,6 @@ void LLGroupMgr::processCapGroupMembersRequest(const LLSD& content)  		return;  	} -	// If we have no members, there's no reason to do anything else -	S32	num_members	= content["member_count"]; -	if(num_members < 1) -		return; -	  	LLUUID group_id = content["group_id"].asUUID();  	LLGroupMgrGroupData* group_datap = LLGroupMgr::getInstance()->getGroupData(group_id); @@ -2097,6 +2092,18 @@ void LLGroupMgr::processCapGroupMembersRequest(const LLSD& content)  		return;  	} +	// If we have no members, there's no reason to do anything else +	S32	num_members	= content["member_count"]; +	if (num_members < 1) +	{ +		LL_INFOS("GrpMgr") << "Received empty group members list for group id: " << group_id.asString() << LL_ENDL; +		// Set mMemberDataComplete for correct handling of empty responses. See MAINT-5237 +		group_datap->mMemberDataComplete = true; +		group_datap->mChanged = TRUE; +		LLGroupMgr::getInstance()->notifyObservers(GC_MEMBER_DATA); +		return; +	} +	  	group_datap->mMemberCount = num_members;  	LLSD	member_list	= content["members"]; diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 2b7028827b..00c204e702 100755 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -1679,7 +1679,13 @@ void LLPanelGroupMembersSubTab::update(LLGroupChange gc)  	{  		// Build a string with info on retrieval progress.  		std::ostringstream retrieved; -		if ( !gdatap->isMemberDataComplete() ) + +		if ( gdatap->isRoleDataComplete() && gdatap->isMemberDataComplete() && !gdatap->mMembers.size() ) +		{ +			// MAINT-5237 +			retrieved << "Member list not available."; +		} +		else if ( !gdatap->isMemberDataComplete() )  		{  			// Still busy retreiving member list.  			retrieved << "Retrieving member list (" << gdatap->mMembers.size() @@ -1826,7 +1832,7 @@ void LLPanelGroupMembersSubTab::updateMembers()  		{  			mMembersList->setEnabled(TRUE);  		} -		else +		else if (gdatap->mMembers.size())   		{  			mMembersList->setEnabled(FALSE);  			mMembersList->setCommentText(std::string("No match.")); | 
