From 475de32aeadf5f0ad9765f6edabd516ef1500934 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 17 Nov 2015 05:59:23 -0500 Subject: [PATCH] [Radar] Fix instances where avatars leave but remain on the radar. --- indra/newview/llviewerregion.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 06bb06d39..99b8c1eda 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1288,6 +1288,7 @@ public: std::vector& avatar_locs = region->mMapAvatars; std::vector& avatar_ids = region->mMapAvatarIDs; + std::list 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); + } } };