diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim.RegionServer/world/World.cs | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/OpenSim.RegionServer/world/World.cs b/OpenSim.RegionServer/world/World.cs index a973c6c..425a135 100644 --- a/OpenSim.RegionServer/world/World.cs +++ b/OpenSim.RegionServer/world/World.cs | |||
@@ -371,19 +371,22 @@ namespace OpenSim.world | |||
371 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world"); | 371 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world"); |
372 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake "); | 372 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake "); |
373 | newAvatar.SendRegionHandshake(this); | 373 | newAvatar.SendRegionHandshake(this); |
374 | PhysicsVector pVec = new PhysicsVector(newAvatar.Pos.X, newAvatar.Pos.Y, newAvatar.Pos.Z); | 374 | if(!agentClient.m_child) { |
375 | lock (this.LockPhysicsEngine) | 375 | PhysicsVector pVec = new PhysicsVector(newAvatar.Pos.X, newAvatar.Pos.Y, newAvatar.Pos.Z); |
376 | { | 376 | lock (this.LockPhysicsEngine) |
377 | newAvatar.PhysActor = this.phyScene.AddAvatar(pVec); | 377 | { |
378 | } | 378 | newAvatar.PhysActor = this.phyScene.AddAvatar(pVec); |
379 | lock (Entities) | 379 | } |
380 | { | 380 | } |
381 | this.Entities.Add(agentClient.AgentID, newAvatar); | 381 | lock (Entities) |
382 | } | 382 | { |
383 | lock (Avatars) | 383 | this.Entities.Add(agentClient.AgentID, newAvatar); |
384 | { | 384 | } |
385 | this.Avatars.Add(agentClient.AgentID, newAvatar); | 385 | lock (Avatars) |
386 | } | 386 | { |
387 | this.Avatars.Add(agentClient.AgentID, newAvatar); | ||
388 | } | ||
389 | |||
387 | } | 390 | } |
388 | 391 | ||
389 | public void RemoveViewerAgent(SimClient agentClient) | 392 | public void RemoveViewerAgent(SimClient agentClient) |