[Radar] Fix instances where avatars leave but remain on the radar.
This commit is contained in:
@@ -1288,6 +1288,7 @@ public:
|
||||
|
||||
std::vector<U32>& avatar_locs = region->mMapAvatars;
|
||||
std::vector<LLUUID>& avatar_ids = region->mMapAvatarIDs;
|
||||
std::list<LLUUID> map_avids(avatar_ids.begin(), avatar_ids.end());
|
||||
avatar_locs.clear();
|
||||
avatar_ids.clear();
|
||||
|
||||
@@ -1336,6 +1337,7 @@ public:
|
||||
LLUUID agent_id(agents_it->get("AgentID").asUUID());
|
||||
//LL_INFOS() << "next agent: " << agent_id.asString() << LL_ENDL;
|
||||
avatar_ids.push_back(agent_id);
|
||||
map_avids.remove(agent_id);
|
||||
}
|
||||
}
|
||||
if (has_agent_data)
|
||||
@@ -1343,6 +1345,12 @@ public:
|
||||
agents_it++;
|
||||
}
|
||||
}
|
||||
if (LLFloaterAvatarList::instanceExists())
|
||||
{
|
||||
LLFloaterAvatarList& inst(LLFloaterAvatarList::instance());
|
||||
inst.updateAvatarList(region);
|
||||
inst.expireAvatarList(map_avids);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user