diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 83cd83c..4458a4d 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -220,6 +220,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
220 | if (hasPrim != false) | 220 | if (hasPrim != false) |
221 | { | 221 | { |
222 | int type = ((SceneObjectGroup)ent).RemoveInventoryItem(remoteClient, localID, itemID); | 222 | int type = ((SceneObjectGroup)ent).RemoveInventoryItem(remoteClient, localID, itemID); |
223 | ((SceneObjectGroup)ent).GetProperites(remoteClient); | ||
223 | if (type == 10) | 224 | if (type == 10) |
224 | { | 225 | { |
225 | this.EventManager.TriggerRemoveScript(localID, itemID); | 226 | this.EventManager.TriggerRemoveScript(localID, itemID); |
@@ -277,6 +278,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
277 | if (hasPrim != false) | 278 | if (hasPrim != false) |
278 | { | 279 | { |
279 | bool added = ((SceneObjectGroup)ent).AddInventoryItem(remoteClient, localID, item); | 280 | bool added = ((SceneObjectGroup)ent).AddInventoryItem(remoteClient, localID, item); |
281 | ((SceneObjectGroup)ent).GetProperites(remoteClient); | ||
280 | if (added) | 282 | if (added) |
281 | { | 283 | { |
282 | userInfo.DeleteItem(remoteClient.AgentId, item); | 284 | userInfo.DeleteItem(remoteClient.AgentId, item); |
@@ -359,6 +361,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
359 | if (rootPart.PhysActor != null) | 361 | if (rootPart.PhysActor != null) |
360 | { | 362 | { |
361 | this.phyScene.RemovePrim(rootPart.PhysActor); | 363 | this.phyScene.RemovePrim(rootPart.PhysActor); |
364 | rootPart.PhysActor = null; | ||
362 | } | 365 | } |
363 | 366 | ||
364 | storageManager.DataStore.RemoveObject(((SceneObjectGroup)selectedEnt).UUID, m_regInfo.SimUUID); | 367 | storageManager.DataStore.RemoveObject(((SceneObjectGroup)selectedEnt).UUID, m_regInfo.SimUUID); |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index f787190..6945acb 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -456,6 +456,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
456 | this.m_parts.Add(linkPart.UUID, linkPart); | 456 | this.m_parts.Add(linkPart.UUID, linkPart); |
457 | linkPart.SetParent(this); | 457 | linkPart.SetParent(this); |
458 | 458 | ||
459 | if (linkPart.PhysActor != null) | ||
460 | { | ||
461 | m_scene.PhysScene.RemovePrim(linkPart.PhysActor); | ||
462 | linkPart.PhysActor = null; | ||
463 | } | ||
464 | |||
459 | //TODO: rest of parts | 465 | //TODO: rest of parts |
460 | foreach (SceneObjectPart part in objectGroup.Children.Values) | 466 | foreach (SceneObjectPart part in objectGroup.Children.Values) |
461 | { | 467 | { |