diff options
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 20 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 24 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 12 |
4 files changed, 32 insertions, 26 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 7d21935..e195c92 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -235,7 +235,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
235 | } | 235 | } |
236 | catch (Exception e) | 236 | catch (Exception e) |
237 | { | 237 | { |
238 | m_log.ErrorFormat("[INNERSCENE]: Failed to update {0}, {1} - {2}", entity.Name, entity.m_uuid, e); | 238 | m_log.ErrorFormat("[INNER SCENE]: Failed to update {0}, {1} - {2}", entity.Name, entity.m_uuid, e); |
239 | } | 239 | } |
240 | } | 240 | } |
241 | m_updateList.Clear(); | 241 | m_updateList.Clear(); |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 5683a7a..78b28d5 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -806,26 +806,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
806 | } | 806 | } |
807 | } | 807 | } |
808 | 808 | ||
809 | public void DeleteSceneObjectGroup(SceneObjectGroup group) | ||
810 | { | ||
811 | SceneObjectPart rootPart = (group).GetChildPart(group.UUID); | ||
812 | if (rootPart.PhysActor != null) | ||
813 | { | ||
814 | PhysicsScene.RemovePrim(rootPart.PhysActor); | ||
815 | rootPart.PhysActor = null; | ||
816 | } | ||
817 | |||
818 | m_storageManager.DataStore.RemoveObject(group.UUID, m_regInfo.RegionID); | ||
819 | group.DeleteGroup(); | ||
820 | |||
821 | lock (Entities) | ||
822 | { | ||
823 | Entities.Remove(group.UUID); | ||
824 | m_innerScene.RemoveAPrimCount(); | ||
825 | } | ||
826 | group.DeleteParts(); | ||
827 | } | ||
828 | |||
829 | public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart, | 809 | public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart, |
830 | LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, | 810 | LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, |
831 | uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags, | 811 | uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags, |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 1c6efd2..1a73e78 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2566,6 +2566,30 @@ namespace OpenSim.Region.Environment.Scenes | |||
2566 | } | 2566 | } |
2567 | } | 2567 | } |
2568 | } | 2568 | } |
2569 | |||
2570 | /// <summary> | ||
2571 | /// Delete this object from the scene. | ||
2572 | /// </summary> | ||
2573 | /// <param name="group"></param> | ||
2574 | public void DeleteSceneObjectGroup(SceneObjectGroup group) | ||
2575 | { | ||
2576 | SceneObjectPart rootPart = (group).GetChildPart(group.UUID); | ||
2577 | if (rootPart.PhysActor != null) | ||
2578 | { | ||
2579 | PhysicsScene.RemovePrim(rootPart.PhysActor); | ||
2580 | rootPart.PhysActor = null; | ||
2581 | } | ||
2582 | |||
2583 | m_storageManager.DataStore.RemoveObject(group.UUID, m_regInfo.RegionID); | ||
2584 | group.DeleteGroup(); | ||
2585 | |||
2586 | lock (Entities) | ||
2587 | { | ||
2588 | Entities.Remove(group.UUID); | ||
2589 | m_innerScene.RemoveAPrimCount(); | ||
2590 | } | ||
2591 | group.DeleteParts(); | ||
2592 | } | ||
2569 | 2593 | ||
2570 | /// <summary> | 2594 | /// <summary> |
2571 | /// | 2595 | /// |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index b7b4f70..1a32460 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -935,8 +935,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
935 | 935 | ||
936 | m_scene.DeleteEntity(objectGroup.UUID); | 936 | m_scene.DeleteEntity(objectGroup.UUID); |
937 | 937 | ||
938 | objectGroup.DeleteParts(); | 938 | // TODO justincc Left here as a remind to myself to see if we can stop sending out |
939 | AbsolutePosition = AbsolutePosition; | 939 | // useless updates for this group once it has been deleted. |
940 | //objectGroup.DeleteParts(); | ||
941 | |||
940 | ScheduleGroupForFullUpdate(); | 942 | ScheduleGroupForFullUpdate(); |
941 | } | 943 | } |
942 | 944 | ||
@@ -1021,9 +1023,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1021 | } | 1023 | } |
1022 | else | 1024 | else |
1023 | { | 1025 | { |
1024 | m_log.InfoFormat("[SCENE]: " + | 1026 | m_log.InfoFormat("[SCENE OBJECT GROUP]: " + |
1025 | "DelinkFromGroup(): Child prim local id {0} not found in object with root prim id {1}", | 1027 | "DelinkFromGroup(): Child prim {0} not found in object {1}, {2}", |
1026 | partID, LocalId); | 1028 | partID, LocalId, UUID); |
1027 | } | 1029 | } |
1028 | } | 1030 | } |
1029 | 1031 | ||