diff options
Diffstat (limited to 'OpenSim/Region')
3 files changed, 19 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs index 7858f2a..f8cea71 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs | |||
@@ -179,7 +179,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation | |||
179 | return true; | 179 | return true; |
180 | 180 | ||
181 | // else do the remote thing | 181 | // else do the remote thing |
182 | if (!m_localBackend.IsLocalRegion(destination.RegionHandle)) | 182 | if (!m_localBackend.IsLocalRegion(destination.RegionID)) |
183 | { | 183 | { |
184 | return m_remoteConnector.CreateAgent(destination, aCircuit, teleportFlags, out reason); | 184 | return m_remoteConnector.CreateAgent(destination, aCircuit, teleportFlags, out reason); |
185 | } | 185 | } |
@@ -241,7 +241,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation | |||
241 | return true; | 241 | return true; |
242 | 242 | ||
243 | // else do the remote thing | 243 | // else do the remote thing |
244 | if (!m_localBackend.IsLocalRegion(destination.RegionHandle)) | 244 | if (!m_localBackend.IsLocalRegion(destination.RegionID)) |
245 | return m_remoteConnector.QueryAccess(destination, id, position, out version, out reason); | 245 | return m_remoteConnector.QueryAccess(destination, id, position, out version, out reason); |
246 | 246 | ||
247 | return false; | 247 | return false; |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 2cbe4dc..7c5e246 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2342,6 +2342,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
2342 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); | 2342 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); |
2343 | newObject.ResumeScripts(); | 2343 | newObject.ResumeScripts(); |
2344 | } | 2344 | } |
2345 | else | ||
2346 | { | ||
2347 | ScenePresence sp; | ||
2348 | if (TryGetScenePresence(newObject.OwnerID, out sp)) | ||
2349 | { | ||
2350 | // If the scene presence is here and already a root | ||
2351 | // agent, we came from a ;egacy region. Start the scripts | ||
2352 | // here as they used to start. | ||
2353 | // TODO: Remove in 0.7.3 | ||
2354 | if (!sp.IsChildAgent) | ||
2355 | { | ||
2356 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); | ||
2357 | newObject.ResumeScripts(); | ||
2358 | } | ||
2359 | } | ||
2360 | } | ||
2345 | 2361 | ||
2346 | // Do this as late as possible so that listeners have full access to the incoming object | 2362 | // Do this as late as possible so that listeners have full access to the incoming object |
2347 | EventManager.TriggerOnIncomingSceneObject(newObject); | 2363 | EventManager.TriggerOnIncomingSceneObject(newObject); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 1aac09d..5b86735 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -937,7 +937,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
937 | // and it has already rezzed the attachments and started their scripts. | 937 | // and it has already rezzed the attachments and started their scripts. |
938 | // We do the following only for non-login agents, because their scripts | 938 | // We do the following only for non-login agents, because their scripts |
939 | // haven't started yet. | 939 | // haven't started yet. |
940 | if (wasChild) | 940 | if (wasChild && Attachments != null && Attachments.Count > 0) |
941 | { | 941 | { |
942 | m_log.DebugFormat("[SCENE PRESENCE]: Restarting scripts in attachments..."); | 942 | m_log.DebugFormat("[SCENE PRESENCE]: Restarting scripts in attachments..."); |
943 | // Resume scripts | 943 | // Resume scripts |