diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 83cd83c7ef..4458a4d7b6 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 if (hasPrim != false) { int type = ((SceneObjectGroup)ent).RemoveInventoryItem(remoteClient, localID, itemID); + ((SceneObjectGroup)ent).GetProperites(remoteClient); if (type == 10) { this.EventManager.TriggerRemoveScript(localID, itemID); @@ -277,6 +278,7 @@ namespace OpenSim.Region.Environment.Scenes if (hasPrim != false) { bool added = ((SceneObjectGroup)ent).AddInventoryItem(remoteClient, localID, item); + ((SceneObjectGroup)ent).GetProperites(remoteClient); if (added) { userInfo.DeleteItem(remoteClient.AgentId, item); @@ -359,6 +361,7 @@ namespace OpenSim.Region.Environment.Scenes if (rootPart.PhysActor != null) { this.phyScene.RemovePrim(rootPart.PhysActor); + rootPart.PhysActor = null; } 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 f7871906a1..6945acb35a 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -456,6 +456,12 @@ namespace OpenSim.Region.Environment.Scenes this.m_parts.Add(linkPart.UUID, linkPart); linkPart.SetParent(this); + if (linkPart.PhysActor != null) + { + m_scene.PhysScene.RemovePrim(linkPart.PhysActor); + linkPart.PhysActor = null; + } + //TODO: rest of parts foreach (SceneObjectPart part in objectGroup.Children.Values) { diff --git a/bin/sqlite3.dll b/bin/sqlite3.dll index 29258fb803..87f680ffd2 100644 Binary files a/bin/sqlite3.dll and b/bin/sqlite3.dll differ