[Radar] Fix instances where avatars leave but remain on the radar.

This commit is contained in:
Lirusaito
2015-11-17 05:59:23 -05:00
parent 46fa98419c
commit 475de32aea

View File

@@ -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);
}
}
};