diff options
Merge branch 'master' into careminster
Conflicts:
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 |
2 files changed, 7 insertions, 10 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a7cca44..b7162da 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2403,7 +2403,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2403 | /// </summary> | 2403 | /// </summary> |
2404 | /// <param name="sog"></param> | 2404 | /// <param name="sog"></param> |
2405 | /// <returns></returns> | 2405 | /// <returns></returns> |
2406 | public bool IncomingCreateObject(ISceneObject sog) | 2406 | public bool IncomingCreateObject(Vector3 newPosition, ISceneObject sog) |
2407 | { | 2407 | { |
2408 | //m_log.DebugFormat(" >>> IncomingCreateObject(sog) <<< {0} deleted? {1} isAttach? {2}", ((SceneObjectGroup)sog).AbsolutePosition, | 2408 | //m_log.DebugFormat(" >>> IncomingCreateObject(sog) <<< {0} deleted? {1} isAttach? {2}", ((SceneObjectGroup)sog).AbsolutePosition, |
2409 | // ((SceneObjectGroup)sog).IsDeleted, ((SceneObjectGroup)sog).RootPart.IsAttachment); | 2409 | // ((SceneObjectGroup)sog).IsDeleted, ((SceneObjectGroup)sog).RootPart.IsAttachment); |
@@ -2419,6 +2419,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2419 | return false; | 2419 | return false; |
2420 | } | 2420 | } |
2421 | 2421 | ||
2422 | if (newPosition != Vector3.Zero) | ||
2423 | newObject.RootPart.GroupPosition = newPosition; | ||
2424 | |||
2422 | if (!AddSceneObject(newObject)) | 2425 | if (!AddSceneObject(newObject)) |
2423 | { | 2426 | { |
2424 | m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); | 2427 | m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); |
@@ -4431,10 +4434,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4431 | /// <param name="action"></param> | 4434 | /// <param name="action"></param> |
4432 | public void ForEachRootScenePresence(Action<ScenePresence> action) | 4435 | public void ForEachRootScenePresence(Action<ScenePresence> action) |
4433 | { | 4436 | { |
4434 | if (m_sceneGraph != null) | 4437 | m_sceneGraph.ForEachAvatar(action); |
4435 | { | ||
4436 | m_sceneGraph.ForEachAvatar(action); | ||
4437 | } | ||
4438 | } | 4438 | } |
4439 | 4439 | ||
4440 | /// <summary> | 4440 | /// <summary> |
@@ -4443,10 +4443,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4443 | /// <param name="action"></param> | 4443 | /// <param name="action"></param> |
4444 | public void ForEachScenePresence(Action<ScenePresence> action) | 4444 | public void ForEachScenePresence(Action<ScenePresence> action) |
4445 | { | 4445 | { |
4446 | if (m_sceneGraph != null) | 4446 | m_sceneGraph.ForEachScenePresence(action); |
4447 | { | ||
4448 | m_sceneGraph.ForEachScenePresence(action); | ||
4449 | } | ||
4450 | } | 4447 | } |
4451 | 4448 | ||
4452 | /// <summary> | 4449 | /// <summary> |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ec8716b..a3839c2 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3297,7 +3297,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3297 | ((SceneObjectGroup)so).LocalId = 0; | 3297 | ((SceneObjectGroup)so).LocalId = 0; |
3298 | ((SceneObjectGroup)so).RootPart.ClearUpdateSchedule(); | 3298 | ((SceneObjectGroup)so).RootPart.ClearUpdateSchedule(); |
3299 | so.SetState(cAgent.AttachmentObjectStates[i++], m_scene); | 3299 | so.SetState(cAgent.AttachmentObjectStates[i++], m_scene); |
3300 | m_scene.IncomingCreateObject(so); | 3300 | m_scene.IncomingCreateObject(Vector3.Zero, so); |
3301 | } | 3301 | } |
3302 | } | 3302 | } |
3303 | } | 3303 | } |