aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs6
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 {