diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 7 |
2 files changed, 6 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index f5e2c9d..3b13e64 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -447,12 +447,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
447 | /// <returns></returns> | 447 | /// <returns></returns> |
448 | public bool IsAttachmentCheckFull() | 448 | public bool IsAttachmentCheckFull() |
449 | { | 449 | { |
450 | if(IsAttachment) | 450 | return (IsAttachment || |
451 | return true; | 451 | (m_rootPart.Shape.PCode == (byte)PCodeEnum.Primitive && m_rootPart.Shape.State != 0)); |
452 | |||
453 | IsAttachment = (m_rootPart.Shape.PCode == (byte)PCodeEnum.Primitive && m_rootPart.Shape.State != 0); | ||
454 | |||
455 | return IsAttachment; | ||
456 | } | 452 | } |
457 | 453 | ||
458 | private struct avtocrossInfo | 454 | private struct avtocrossInfo |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 25aa83f..d1c5f72 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1753,8 +1753,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1753 | } | 1753 | } |
1754 | else | 1754 | else |
1755 | { | 1755 | { |
1756 | if ((!isPhantom || isPhysical || _VolumeDetectActive) && !ParentGroup.IsAttachment | 1756 | if ((!isPhantom || isPhysical || _VolumeDetectActive) |
1757 | && !(Shape.PathCurve == (byte)Extrusion.Flexible)) | 1757 | && !ParentGroup.IsAttachmentCheckFull() |
1758 | && !(Shape.PathCurve == (byte)Extrusion.Flexible)) | ||
1758 | { | 1759 | { |
1759 | AddToPhysics(isPhysical, isPhantom, isPhysical); | 1760 | AddToPhysics(isPhysical, isPhantom, isPhysical); |
1760 | } | 1761 | } |
@@ -4241,7 +4242,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4241 | } | 4242 | } |
4242 | 4243 | ||
4243 | if (SetPhantom | 4244 | if (SetPhantom |
4244 | || ParentGroup.IsAttachment | 4245 | || ParentGroup.IsAttachmentCheckFull() |
4245 | || PhysicsShapeType == (byte)PhysShapeType.none | 4246 | || PhysicsShapeType == (byte)PhysShapeType.none |
4246 | || (Shape.PathCurve == (byte)Extrusion.Flexible)) // note: this may have been changed above in the case of joints | 4247 | || (Shape.PathCurve == (byte)Extrusion.Flexible)) // note: this may have been changed above in the case of joints |
4247 | { | 4248 | { |