diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp index d42048bf70ab206219665fdc82e564c9674ec534..7c73d0069b94cd81f3f500046d951d920921d19f 100644 --- a/indra/newview/llcallingcard.cpp +++ b/indra/newview/llcallingcard.cpp @@ -234,20 +234,20 @@ const LLUUID& LLAvatarTracker::getAvatarID() } } -S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t& buds) +S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t buds) { using namespace std; U32 new_buddy_count = 0; LLUUID agent_id; - for(buddy_map_t::const_iterator itr = buds.begin(); itr != buds.end(); ++itr) + for(const auto& itr : buds) { - agent_id = (*itr).first; + agent_id = (itr).first; buddy_map_t::const_iterator existing_buddy = mBuddyInfo.find(agent_id); if(existing_buddy == mBuddyInfo.end()) { ++new_buddy_count; - mBuddyInfo[agent_id] = (*itr).second; + mBuddyInfo[agent_id] = (itr).second; // pre-request name for notifications? LLAvatarName av_name; @@ -265,7 +265,7 @@ S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t& buds) else { LLRelationship* e_r = (*existing_buddy).second; - LLRelationship* n_r = (*itr).second; + LLRelationship* n_r = (itr).second; LL_WARNS() << "!! Add buddy for existing buddy: " << agent_id << " [" << (e_r->isOnline() ? "Online" : "Offline") << "->" << (n_r->isOnline() ? "Online" : "Offline") << ", " << e_r->getRightsGrantedTo() << "->" << n_r->getRightsGrantedTo() diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h index 1cc7b26cf02076e91b1aecfc624b29ea31301250..30b62ef78e347992f806f1957b72cbba5853ff91 100644 --- a/indra/newview/llcallingcard.h +++ b/indra/newview/llcallingcard.h @@ -111,9 +111,9 @@ class LLAvatarTracker // add or remove agents from buddy list. Each method takes a set // of buddies and returns how many were actually added or removed. - typedef boost::unordered_flat_map<LLUUID, LLRelationship*> buddy_map_t; + typedef boost::unordered_map<LLUUID, LLRelationship*> buddy_map_t; - S32 addBuddyList(const buddy_map_t& buddies); + S32 addBuddyList(const buddy_map_t buddies); //S32 removeBuddyList(const buddy_list_t& exes); void copyBuddyList(buddy_map_t& buddies) const; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index dc9a0d1a91a862502406a7ae4c91069e0535a3fb..7a6a2388c9a9ca5d3b31bd1b1eda2fefaa9a0dda 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1931,28 +1931,32 @@ bool idle_startup() { LLUUID agent_id; S32 has_rights = 0, given_rights = 0; - LLSD buddy_id = (*it)["buddy_id"]; - if(buddy_id.isDefined()) + const auto& buddy_map = it->asMap(); + auto buddy_end = buddy_map.end(); + + auto buddy_it = buddy_map.find("buddy_id"); + if(buddy_it != buddy_end) { - agent_id = buddy_id.asUUID(); + agent_id = buddy_it->second.asUUID(); } else continue; - LLSD buddy_rights_has = (*it)["buddy_rights_has"]; - if(buddy_rights_has.isDefined()) + buddy_it = buddy_map.find("buddy_rights_has"); + if(buddy_it != buddy_end) { - has_rights = buddy_rights_has.asInteger(); + has_rights = buddy_it->second.asInteger(); } - LLSD buddy_rights_given = (*it)["buddy_rights_given"]; - if(buddy_rights_given.isDefined()) + + buddy_it = buddy_map.find("buddy_rights_given"); + if (buddy_it != buddy_end) { - given_rights = buddy_rights_given.asInteger(); + given_rights = buddy_it->second.asInteger(); } list[agent_id] = new LLRelationship(given_rights, has_rights, false); } - LLAvatarTracker::instance().addBuddyList(list); + LLAvatarTracker::instance().addBuddyList(std::move(list)); display_startup(); } diff --git a/indra/newview/llworldmap.cpp b/indra/newview/llworldmap.cpp index 72a22ee598265028809485fe9297e345b15aeabf..7e39c81c403f1b9f6dc0e4d9f66896ee912e9469 100644 --- a/indra/newview/llworldmap.cpp +++ b/indra/newview/llworldmap.cpp @@ -623,11 +623,11 @@ void LLWorldMap::updateRegions(S32 x0, S32 y0, S32 x1, S32 y1) // Remove blocks that have been request more than BLOCK_UPDATE_TIMER ago // so we re-request them for an update - for (block_last_update_map_t::iterator it = mMapBlockLastUpdateOffsets.begin(); it != mMapBlockLastUpdateOffsets.end(); ++it) + for (const auto& it : mMapBlockLastUpdateOffsets) { - if ((time_now - it->second) <= BLOCK_UPDATE_TIMER) + if ((time_now - it.second) <= BLOCK_UPDATE_TIMER) { - new_offsets[it->first] = it->second; + new_offsets[it.first] = it.second; } } mMapBlockLastUpdateOffsets.swap(new_offsets); diff --git a/indra/newview/llworldmap.h b/indra/newview/llworldmap.h index e9ecafea35fba9731338d20130c32173fbb43a50..6f85da22ff22cf26094cd8cf554dab316c1db216 100644 --- a/indra/newview/llworldmap.h +++ b/indra/newview/llworldmap.h @@ -217,7 +217,7 @@ class LLWorldMap final : public LLSingleton<LLWorldMap> void reloadItems(bool force = false); // Reload the items (people, hub, etc...) // Region Map access - typedef boost::unordered_flat_map<U64, std::unique_ptr<LLSimInfo>> sim_info_map_t; + typedef boost::unordered_map<U64, std::unique_ptr<LLSimInfo>> sim_info_map_t; const LLWorldMap::sim_info_map_t& getRegionMap() const { return mSimInfoMap; } void updateRegions(S32 x0, S32 y0, S32 x1, S32 y1); // Requests region info for a rectangle of regions (in grid coordinates)