diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llpanelgrouproles.cpp | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 0d1d96eae6..d1362d7922 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -1576,6 +1576,7 @@ void LLPanelGroupMembersSubTab::update(LLGroupChange gc)  void LLPanelGroupMembersSubTab::addMemberToList(LLUUID id, LLGroupMemberData* data)  { +	if (!data) return;  	LLUIString donated = getString("donation_area");  	donated.setArg("[AREA]", llformat("%d", data->getContribution())); @@ -1616,9 +1617,12 @@ void LLPanelGroupMembersSubTab::onNameCache(const LLUUID& update_id, const LLUUI  	std::string fullname;  	gCacheName->getFullName(id, fullname); -	if (matchesSearchFilter(fullname)) + +	LLGroupMemberData* data; +	// trying to avoid unnecessary hash lookups +	if (matchesSearchFilter(fullname) && ((data = gdatap->mMembers[id]) != NULL))  	{ -		addMemberToList(id, gdatap->mMembers[id]); +		addMemberToList(id, data);  		if(!mMembersList->getEnabled())  		{  			mMembersList->setEnabled(TRUE); | 
