mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
When a shared module hooks OnClientClosed, it has no way of finding
out which client connection has closed. So, in multi-region sims, things can get messy fast. This introduces a second parameters, which is a Scene object ref. Minor adjustments to custom modules may be required due to this change.
This commit is contained in:
@@ -382,7 +382,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||
client.OnLogout += OnLogout;
|
||||
}
|
||||
|
||||
private void ClientClosed(UUID AgentId)
|
||||
private void ClientClosed(UUID AgentId, Scene scene)
|
||||
{
|
||||
// agent's client was closed. As we handle logout in OnLogout, this here has only to handle
|
||||
// TPing away (root agent is closed) or TPing/crossing in a region far enough away (client
|
||||
|
||||
@@ -198,7 +198,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||
remote_client.SendGroupNameReply(groupUUID, groupnamereply);
|
||||
}
|
||||
|
||||
private void OnClientClosed(UUID agentID)
|
||||
private void OnClientClosed(UUID agentID, Scene scene)
|
||||
{
|
||||
lock (m_ClientMap)
|
||||
{
|
||||
|
||||
@@ -368,7 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
return false;
|
||||
}
|
||||
|
||||
public void ClientLoggedOut(UUID agentID)
|
||||
public void ClientLoggedOut(UUID agentID, Scene scene)
|
||||
{
|
||||
if (m_AgentRegions.ContainsKey(agentID))
|
||||
m_AgentRegions.Remove(agentID);
|
||||
|
||||
Reference in New Issue
Block a user