From 5d47c7ecfadd500cb984f24cfd0102b34cc62a66 Mon Sep 17 00:00:00 2001 From: Inusaito Sayori Date: Wed, 7 Jan 2015 19:02:28 -0500 Subject: [PATCH] [OpenSim] Properly fix name lookups, oops~ --- indra/llmessage/llavatarnamecache.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp index ed644163c..dd4f97fb1 100644 --- a/indra/llmessage/llavatarnamecache.cpp +++ b/indra/llmessage/llavatarnamecache.cpp @@ -120,6 +120,13 @@ namespace LLAvatarNameCache void fireSignal(const LLUUID& agent_id, const callback_slot_t& slot, const LLAvatarName& av_name); + + void resolveNameLegacy(const LLUUID& id, const std::string& name, const callback_slot_t& slot) + { + LLAvatarName av_name; + av_name.fromString(name); + fireSignal(id, slot, sCache[id] = av_name); + } // Is a request in-flight over the network? bool isRequestPending(const LLUUID& agent_id); @@ -682,12 +689,10 @@ LLAvatarNameCache::callback_connection_t LLAvatarNameCache::get(const LLUUID& ag std::string full_name; if (gCacheName->getFullName(agent_id, full_name)) { - LLAvatarName av_name; - av_name.fromString(full_name); - sCache[agent_id] = av_name; - fireSignal(agent_id, slot, av_name); + resolveNameLegacy(agent_id, full_name, slot); return connection; } + return gCacheName->get(agent_id, false, boost::bind(resolveNameLegacy, _1, _2, slot)); } }