diff options
author | MW | 2007-03-07 20:18:20 +0000 |
---|---|---|
committer | MW | 2007-03-07 20:18:20 +0000 |
commit | 48b05c6784e8e3c647b4efc8ffdee7c51b59251f (patch) | |
tree | 74b45ca30273152b2ee5b1cfc3a73cc3c8f4b4e8 /src/OpenSimClient.cs | |
parent | fixed genvers.sh (diff) | |
download | opensim-SC-48b05c6784e8e3c647b4efc8ffdee7c51b59251f.zip opensim-SC-48b05c6784e8e3c647b4efc8ffdee7c51b59251f.tar.gz opensim-SC-48b05c6784e8e3c647b4efc8ffdee7c51b59251f.tar.bz2 opensim-SC-48b05c6784e8e3c647b4efc8ffdee7c51b59251f.tar.xz |
Hopefully fixed the Session logout bug.
Should now see avatars for other users connected to the same sim.
Diffstat (limited to 'src/OpenSimClient.cs')
-rw-r--r-- | src/OpenSimClient.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/OpenSimClient.cs b/src/OpenSimClient.cs index 8021d59..5f68806 100644 --- a/src/OpenSimClient.cs +++ b/src/OpenSimClient.cs | |||
@@ -90,6 +90,14 @@ namespace OpenSim | |||
90 | break; | 90 | break; |
91 | case PacketType.AgentWearablesRequest: | 91 | case PacketType.AgentWearablesRequest: |
92 | ClientAvatar.SendInitialAppearance(); | 92 | ClientAvatar.SendInitialAppearance(); |
93 | foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) { | ||
94 | if(client.AgentID != this.AgentID) | ||
95 | { | ||
96 | ObjectUpdatePacket objupdate = client.ClientAvatar.CreateUpdatePacket(); | ||
97 | this.OutPacket(objupdate); | ||
98 | client.ClientAvatar.SendAppearanceToOtherAgent(this); | ||
99 | } | ||
100 | } | ||
93 | break; | 101 | break; |
94 | case PacketType.ObjectAdd: | 102 | case PacketType.ObjectAdd: |
95 | OpenSim_Main.local_world.AddNewPrim((ObjectAddPacket)Pack, this); | 103 | OpenSim_Main.local_world.AddNewPrim((ObjectAddPacket)Pack, this); |
@@ -104,11 +112,11 @@ namespace OpenSim | |||
104 | break; | 112 | break; |
105 | case PacketType.LogoutRequest: | 113 | case PacketType.LogoutRequest: |
106 | ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:ProcessInPacket() - Got a logout request"); | 114 | ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:ProcessInPacket() - Got a logout request"); |
115 | OpenSim_Main.gridServers.GridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode); | ||
107 | lock(OpenSim_Main.local_world.Entities) { | 116 | lock(OpenSim_Main.local_world.Entities) { |
108 | OpenSim_Main.local_world.Entities.Remove(this.AgentID); | 117 | OpenSim_Main.local_world.Entities.Remove(this.AgentID); |
109 | } | 118 | } |
110 | //need to do other cleaning up here too | 119 | //need to do other cleaning up here too |
111 | OpenSim_Main.gridServers.GridServer.LogoutSession(cirpack.CircuitCode.SessionID, cirpack.CircuitCode.ID, cirpack.CircuitCode.Code); | ||
112 | this.ClientThread.Abort(); | 120 | this.ClientThread.Abort(); |
113 | break; | 121 | break; |
114 | case PacketType.ChatFromViewer: | 122 | case PacketType.ChatFromViewer: |
@@ -254,6 +262,7 @@ namespace OpenSim | |||
254 | } | 262 | } |
255 | } | 263 | } |
256 | 264 | ||
265 | //ServerConsole.MainConsole.Instance.WriteLine("OUT: \n" + Pack.ToString()); | ||
257 | 266 | ||
258 | byte[] ZeroOutBuffer = new byte[4096]; | 267 | byte[] ZeroOutBuffer = new byte[4096]; |
259 | byte[] sendbuffer; | 268 | byte[] sendbuffer; |