diff options
| author | Merov Linden <merov@lindenlab.com> | 2012-12-17 19:29:35 -0800 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2012-12-17 19:29:35 -0800 |
| commit | 3d137bae5c5435dde305323179d8d3d6c9720bad (patch) | |
| tree | 959fe5ab17e21ab6d4455da7f7173270f8d01732 /indra/newview/llpanelgroupgeneral.cpp | |
| parent | 6fe7144104cd8b5bd9c7d215f76afdeafe13b7ee (diff) | |
| parent | f8b51f40289255ce38f65830f5bb0f29def3b757 (diff) | |
Merge with viewer-chui
Diffstat (limited to 'indra/newview/llpanelgroupgeneral.cpp')
| -rw-r--r-- | indra/newview/llpanelgroupgeneral.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp index 69d2c84e8a..684c975e2d 100644 --- a/indra/newview/llpanelgroupgeneral.cpp +++ b/indra/newview/llpanelgroupgeneral.cpp @@ -675,7 +675,6 @@ void LLPanelGroupGeneral::update(LLGroupChange gc) { mMemberProgress = gdatap->mMembers.begin(); mPendingMemberUpdate = TRUE; - mUdpateSessionID.generate(); sSDTime = 0.0f; sElementTime = 0.0f; @@ -738,7 +737,7 @@ void LLPanelGroupGeneral::updateMembers() { mAvatarNameCacheConnection.disconnect(); } - mAvatarNameCacheConnection = LLAvatarNameCache::get(mMemberProgress->first, boost::bind(&LLPanelGroupGeneral::onNameCache, this, mUdpateSessionID, member, _1, _2)); + mAvatarNameCacheConnection = LLAvatarNameCache::get(mMemberProgress->first, boost::bind(&LLPanelGroupGeneral::onNameCache, this, gdatap->getMemberVersion(), member, _2)); } } @@ -776,10 +775,15 @@ void LLPanelGroupGeneral::addMember(LLGroupMemberData* member) } } -void LLPanelGroupGeneral::onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLUUID& id, const LLAvatarName& av_name) +void LLPanelGroupGeneral::onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLAvatarName& av_name) { - if (!member || update_id != mUdpateSessionID) + LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupID); + + if (!gdatap + || !gdatap->isMemberDataComplete() + || gdatap->getMemberVersion() != update_id) { + // Stale data return; } |
