diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 |
3 files changed, 8 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 6cc78b8..23f39a8 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1155,8 +1155,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1155 | return; | 1155 | return; |
1156 | } | 1156 | } |
1157 | 1157 | ||
1158 | TaskInventoryItem item = part.Inventory.GetInventoryItem(itemId); | 1158 | if ((taskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0) |
1159 | if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) | ||
1160 | { | 1159 | { |
1161 | // If the item to be moved is no copy, we need to be able to | 1160 | // If the item to be moved is no copy, we need to be able to |
1162 | // edit the prim. | 1161 | // edit the prim. |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index e7f835c..6187803 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2317,7 +2317,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2317 | /// </summary> | 2317 | /// </summary> |
2318 | /// <param name="sog"></param> | 2318 | /// <param name="sog"></param> |
2319 | /// <returns></returns> | 2319 | /// <returns></returns> |
2320 | public bool IncomingCreateObject(ISceneObject sog) | 2320 | public bool IncomingCreateObject(Vector3 newPosition, ISceneObject sog) |
2321 | { | 2321 | { |
2322 | //m_log.DebugFormat(" >>> IncomingCreateObject(sog) <<< {0} deleted? {1} isAttach? {2}", ((SceneObjectGroup)sog).AbsolutePosition, | 2322 | //m_log.DebugFormat(" >>> IncomingCreateObject(sog) <<< {0} deleted? {1} isAttach? {2}", ((SceneObjectGroup)sog).AbsolutePosition, |
2323 | // ((SceneObjectGroup)sog).IsDeleted, ((SceneObjectGroup)sog).RootPart.IsAttachment); | 2323 | // ((SceneObjectGroup)sog).IsDeleted, ((SceneObjectGroup)sog).RootPart.IsAttachment); |
@@ -2333,6 +2333,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2333 | return false; | 2333 | return false; |
2334 | } | 2334 | } |
2335 | 2335 | ||
2336 | if (newPosition != Vector3.Zero) | ||
2337 | newObject.RootPart.GroupPosition = newPosition; | ||
2338 | |||
2336 | if (!AddSceneObject(newObject)) | 2339 | if (!AddSceneObject(newObject)) |
2337 | { | 2340 | { |
2338 | m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); | 2341 | m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); |
@@ -4257,10 +4260,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4257 | /// <param name="action"></param> | 4260 | /// <param name="action"></param> |
4258 | public void ForEachRootScenePresence(Action<ScenePresence> action) | 4261 | public void ForEachRootScenePresence(Action<ScenePresence> action) |
4259 | { | 4262 | { |
4260 | if (m_sceneGraph != null) | 4263 | m_sceneGraph.ForEachAvatar(action); |
4261 | { | ||
4262 | m_sceneGraph.ForEachAvatar(action); | ||
4263 | } | ||
4264 | } | 4264 | } |
4265 | 4265 | ||
4266 | /// <summary> | 4266 | /// <summary> |
@@ -4269,10 +4269,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4269 | /// <param name="action"></param> | 4269 | /// <param name="action"></param> |
4270 | public void ForEachScenePresence(Action<ScenePresence> action) | 4270 | public void ForEachScenePresence(Action<ScenePresence> action) |
4271 | { | 4271 | { |
4272 | if (m_sceneGraph != null) | 4272 | m_sceneGraph.ForEachScenePresence(action); |
4273 | { | ||
4274 | m_sceneGraph.ForEachScenePresence(action); | ||
4275 | } | ||
4276 | } | 4273 | } |
4277 | 4274 | ||
4278 | /// <summary> | 4275 | /// <summary> |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index daf711c..9cfdf9f 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3223,7 +3223,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3223 | ((SceneObjectGroup)so).LocalId = 0; | 3223 | ((SceneObjectGroup)so).LocalId = 0; |
3224 | ((SceneObjectGroup)so).RootPart.ClearUpdateSchedule(); | 3224 | ((SceneObjectGroup)so).RootPart.ClearUpdateSchedule(); |
3225 | so.SetState(cAgent.AttachmentObjectStates[i++], m_scene); | 3225 | so.SetState(cAgent.AttachmentObjectStates[i++], m_scene); |
3226 | m_scene.IncomingCreateObject(so); | 3226 | m_scene.IncomingCreateObject(Vector3.Zero, so); |
3227 | } | 3227 | } |
3228 | } | 3228 | } |
3229 | } | 3229 | } |