aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules
diff options
context:
space:
mode:
authorDan Lake2012-02-03 15:21:07 -0800
committerDan Lake2012-02-03 15:21:07 -0800
commitea19e50919afdf2aee3d123437eef82fc59663a1 (patch)
treec45b94ef98eab9115a69d70c4159769daea5c3d1 /OpenSim/Region/OptionalModules
parentCheck for null scene in ScheduleFullUpdate and ScheduleTerseUpdate before tri... (diff)
parentExtend m_avatars lock in NpcModule.CreateNPC over both creation of NPC scene ... (diff)
downloadopensim-SC_OLD-ea19e50919afdf2aee3d123437eef82fc59663a1.zip
opensim-SC_OLD-ea19e50919afdf2aee3d123437eef82fc59663a1.tar.gz
opensim-SC_OLD-ea19e50919afdf2aee3d123437eef82fc59663a1.tar.bz2
opensim-SC_OLD-ea19e50919afdf2aee3d123437eef82fc59663a1.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts: OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs30
1 files changed, 16 insertions, 14 deletions
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
index 3831d7a..6a48b89 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
@@ -140,24 +140,26 @@ namespace OpenSim.Region.OptionalModules.World.NPC
140// acd.AgentID, i, acd.Appearance.Texture.FaceTextures[i]); 140// acd.AgentID, i, acd.Appearance.Texture.FaceTextures[i]);
141// } 141// }
142 142
143 scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd); 143 lock (m_avatars)
144 scene.AddNewClient(npcAvatar, PresenceType.Npc);
145
146 ScenePresence sp;
147 if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
148 { 144 {
149 m_log.DebugFormat( 145 scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd);
150 "[NPC MODULE]: Successfully retrieved scene presence for NPC {0} {1}", sp.Name, sp.UUID); 146 scene.AddNewClient(npcAvatar, PresenceType.Npc);
151 147
152 sp.CompleteMovement(npcAvatar, false); 148 ScenePresence sp;
153 } 149 if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
154 else 150 {
155 { 151 m_log.DebugFormat(
156 m_log.WarnFormat("[NPC MODULE]: Could not find scene presence for NPC {0} {1}", sp.Name, sp.UUID); 152 "[NPC MODULE]: Successfully retrieved scene presence for NPC {0} {1}", sp.Name, sp.UUID);
157 } 153
154 sp.CompleteMovement(npcAvatar, false);
155 }
156 else
157 {
158 m_log.WarnFormat("[NPC MODULE]: Could not find scene presence for NPC {0} {1}", sp.Name, sp.UUID);
159 }
158 160
159 lock (m_avatars)
160 m_avatars.Add(npcAvatar.AgentId, npcAvatar); 161 m_avatars.Add(npcAvatar.AgentId, npcAvatar);
162 }
161 163
162 m_log.DebugFormat("[NPC MODULE]: Created NPC with id {0}", npcAvatar.AgentId); 164 m_log.DebugFormat("[NPC MODULE]: Created NPC with id {0}", npcAvatar.AgentId);
163 165