aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorUbitUmarov2015-10-29 22:14:11 +0000
committerUbitUmarov2015-10-29 22:14:11 +0000
commitdd9b06e3b68919f9b093c7673427c4beeb1fb1ea (patch)
tree78ab2e37ee45b92894ffc7f9e67183f3b2cc090c /OpenSim/Region
parentfix services handling of visualparameters, avoiding possible crashs (mantis 7... (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs7
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 {