diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 1d06889..bbf36f1 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2409,6 +2409,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
2409 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); | 2409 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); |
2410 | newObject.ResumeScripts(); | 2410 | newObject.ResumeScripts(); |
2411 | } | 2411 | } |
2412 | else | ||
2413 | { | ||
2414 | ScenePresence sp; | ||
2415 | if (TryGetScenePresence(newObject.OwnerID, out sp)) | ||
2416 | { | ||
2417 | // If the scene presence is here and already a root | ||
2418 | // agent, we came from a ;egacy region. Start the scripts | ||
2419 | // here as they used to start. | ||
2420 | // TODO: Remove in 0.7.3 | ||
2421 | if (!sp.IsChildAgent) | ||
2422 | { | ||
2423 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); | ||
2424 | newObject.ResumeScripts(); | ||
2425 | } | ||
2426 | } | ||
2427 | } | ||
2412 | 2428 | ||
2413 | // Do this as late as possible so that listeners have full access to the incoming object | 2429 | // Do this as late as possible so that listeners have full access to the incoming object |
2414 | EventManager.TriggerOnIncomingSceneObject(newObject); | 2430 | EventManager.TriggerOnIncomingSceneObject(newObject); |