diff options
author | UbitUmarov | 2015-10-29 22:14:11 +0000 |
---|---|---|
committer | UbitUmarov | 2015-10-29 22:14:11 +0000 |
commit | dd9b06e3b68919f9b093c7673427c4beeb1fb1ea (patch) | |
tree | 78ab2e37ee45b92894ffc7f9e67183f3b2cc090c /OpenSim/Region/Framework/Scenes | |
parent | fix services handling of visualparameters, avoiding possible crashs (mantis 7... (diff) | |
download | opensim-SC-dd9b06e3b68919f9b093c7673427c4beeb1fb1ea.zip opensim-SC-dd9b06e3b68919f9b093c7673427c4beeb1fb1ea.tar.gz opensim-SC-dd9b06e3b68919f9b093c7673427c4beeb1fb1ea.tar.bz2 opensim-SC-dd9b06e3b68919f9b093c7673427c4beeb1fb1ea.tar.xz |
fix mantis 7733, reverting setting of IsAttachment on first call to full check. Replace instead same simple IsAttachment tests by full checks
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-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 1d89267..f3b3a9c 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 | { |