diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 6 |
2 files changed, 14 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index e6b58b3..4b39341 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -794,14 +794,17 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
794 | m_log.Debug("[InventoryAccessModule]: Object has UUID.Zero! Position 3"); | 794 | m_log.Debug("[InventoryAccessModule]: Object has UUID.Zero! Position 3"); |
795 | } | 795 | } |
796 | 796 | ||
797 | // If it's rezzed in world, select it. Much easier to | ||
798 | // find small items. | ||
799 | // | ||
800 | if (!attachment) | 797 | if (!attachment) |
801 | { | 798 | { |
799 | // If it's rezzed in world, select it. Much easier to | ||
800 | // find small items. | ||
801 | // | ||
802 | group.RootPart.CreateSelected = true; | 802 | group.RootPart.CreateSelected = true; |
803 | foreach (SceneObjectPart child in group.Parts) | 803 | |
804 | child.CreateSelected = true; | 804 | foreach (SceneObjectPart part in group.Parts) |
805 | { | ||
806 | part.CreateSelected = true; | ||
807 | } | ||
805 | } | 808 | } |
806 | 809 | ||
807 | group.ResetIDs(); | 810 | group.ResetIDs(); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index fca42c8..2819545 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -183,6 +183,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
183 | public void ClearPartAttachmentData() | 183 | public void ClearPartAttachmentData() |
184 | { | 184 | { |
185 | AttachmentPoint = 0; | 185 | AttachmentPoint = 0; |
186 | |||
187 | // Even though we don't use child part state parameters for attachments any more, we still need to set | ||
188 | // these to zero since having them non-zero in rezzed scene objects will crash some clients. Even if | ||
189 | // we store them correctly, scene objects that we receive from elsewhere might not. | ||
190 | foreach (SceneObjectPart part in Parts) | ||
191 | part.Shape.State = 0; | ||
186 | } | 192 | } |
187 | 193 | ||
188 | /// <summary> | 194 | /// <summary> |