summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelgrouproles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelgrouproles.cpp')
-rw-r--r--indra/newview/llpanelgrouproles.cpp8
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);