diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 17242dc..0b92818 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1423,7 +1423,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1423 | if (item.AssetType == (int)AssetType.Link) | 1423 | if (item.AssetType == (int)AssetType.Link) |
1424 | { | 1424 | { |
1425 | InventoryItemBase linkedItem = InventoryService.GetItem(new InventoryItemBase(item.AssetID)); | 1425 | InventoryItemBase linkedItem = InventoryService.GetItem(new InventoryItemBase(item.AssetID)); |
1426 | linkedItemFolderIdsToSend.Add(linkedItem.Folder); | 1426 | |
1427 | // Take care of genuinely broken links where the target doesn't exist | ||
1428 | if (linkedItem != null) | ||
1429 | linkedItemFolderIdsToSend.Add(linkedItem.Folder); | ||
1427 | } | 1430 | } |
1428 | } | 1431 | } |
1429 | 1432 | ||
@@ -2142,19 +2145,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2142 | sourcePart.Inventory.RemoveInventoryItem(item.ItemID); | 2145 | sourcePart.Inventory.RemoveInventoryItem(item.ItemID); |
2143 | } | 2146 | } |
2144 | 2147 | ||
2145 | AddNewSceneObject(group, true); | 2148 | AddNewSceneObject(group, true, pos, rot, vel); |
2146 | |||
2147 | group.AbsolutePosition = pos; | ||
2148 | group.Velocity = vel; | ||
2149 | |||
2150 | if (rot != null) | ||
2151 | group.UpdateGroupRotationR((Quaternion)rot); | ||
2152 | |||
2153 | // TODO: This needs to be refactored with the similar code in | ||
2154 | // SceneGraph.AddNewSceneObject(SceneObjectGroup sceneObject, bool attachToBackup, Vector3 pos, Quaternion rot, Vector3 vel) | ||
2155 | // possibly by allowing this method to take a null rotation. | ||
2156 | if (group.RootPart.PhysActor != null && group.RootPart.PhysActor.IsPhysical && vel != Vector3.Zero) | ||
2157 | group.RootPart.ApplyImpulse((vel * group.GetMass()), false); | ||
2158 | 2149 | ||
2159 | // We can only call this after adding the scene object, since the scene object references the scene | 2150 | // We can only call this after adding the scene object, since the scene object references the scene |
2160 | // to find out if scripts should be activated at all. | 2151 | // to find out if scripts should be activated at all. |