avoid ethernal references
parent
25582af3dc
commit
c2af3a5474
|
@ -207,31 +207,24 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(m_ServiceThrottle == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
IClientAPI deferedcli = client;
|
||||||
// Not found in cache, queue continuation
|
// Not found in cache, queue continuation
|
||||||
m_ServiceThrottle.Enqueue("uuidname", uuid.ToString(), delegate
|
m_ServiceThrottle.Enqueue("uuidname", uuid.ToString(), delegate
|
||||||
{
|
{
|
||||||
//m_log.DebugFormat("[YYY]: Name request {0}", uuid);
|
if(deferedcli.IsActive)
|
||||||
|
|
||||||
// As least upto September 2013, clients permanently cache UUID -> Name bindings. Some clients
|
|
||||||
// appear to clear this when the user asks it to clear the cache, but others may not.
|
|
||||||
//
|
|
||||||
// So to avoid clients
|
|
||||||
// (particularly Hypergrid clients) permanently binding "Unknown User" to a given UUID, we will
|
|
||||||
// instead drop the request entirely.
|
|
||||||
if(!client.IsActive)
|
|
||||||
return;
|
|
||||||
if (GetUser(uuid, client.ScopeId, out user))
|
|
||||||
{
|
{
|
||||||
if(client.IsActive)
|
if (GetUser(uuid, deferedcli.ScopeId, out UserData defuser))
|
||||||
client.SendNameReply(uuid, user.FirstName, user.LastName);
|
{
|
||||||
|
if(deferedcli.IsActive)
|
||||||
|
deferedcli.SendNameReply(uuid, defuser.FirstName, defuser.LastName);
|
||||||
}
|
}
|
||||||
// else
|
}
|
||||||
// m_log.DebugFormat(
|
deferedcli = null;
|
||||||
// "[USER MANAGEMENT MODULE]: No bound name for {0} found, ignoring request from {1}",
|
|
||||||
// uuid, client.Name);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void HandleAvatarPickerRequest(IClientAPI client, UUID avatarID, UUID RequestID, string query)
|
public virtual void HandleAvatarPickerRequest(IClientAPI client, UUID avatarID, UUID RequestID, string query)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue