diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index dd5e986..cf2161a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2811,11 +2811,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2811 | } | 2811 | } |
2812 | } | 2812 | } |
2813 | 2813 | ||
2814 | RootPart.UpdatePrimFlags(UsePhysics, IsTemporary, IsPhantom, SetVolumeDetect); | 2814 | RootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect); |
2815 | for (int i = 0; i < parts.Length; i++) | 2815 | for (int i = 0; i < parts.Length; i++) |
2816 | { | 2816 | { |
2817 | if (parts[i] != RootPart) | 2817 | if (parts[i] != RootPart) |
2818 | parts[i].UpdatePrimFlags(UsePhysics, IsTemporary, IsPhantom, SetVolumeDetect); | 2818 | parts[i].UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect); |
2819 | } | 2819 | } |
2820 | } | 2820 | } |
2821 | } | 2821 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 3bce3c0..0e48515 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -4307,6 +4307,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4307 | bool wasPhantom = ((Flags & PrimFlags.Phantom) != 0); | 4307 | bool wasPhantom = ((Flags & PrimFlags.Phantom) != 0); |
4308 | bool wasVD = VolumeDetectActive; | 4308 | bool wasVD = VolumeDetectActive; |
4309 | 4309 | ||
4310 | // m_log.DebugFormat("[SOP]: Old states: phys: {0} temp: {1} phan: {2} vd: {3}", wasUsingPhysics, wasTemporary, wasPhantom, wasVD); | ||
4311 | // m_log.DebugFormat("[SOP]: New states: phys: {0} temp: {1} phan: {2} vd: {3}", UsePhysics, SetTemporary, SetPhantom, SetVD); | ||
4312 | |||
4310 | if ((UsePhysics == wasUsingPhysics) && (wasTemporary == SetTemporary) && (wasPhantom == SetPhantom) && (SetVD == wasVD)) | 4313 | if ((UsePhysics == wasUsingPhysics) && (wasTemporary == SetTemporary) && (wasPhantom == SetPhantom) && (SetVD == wasVD)) |
4311 | return; | 4314 | return; |
4312 | 4315 | ||
@@ -4336,6 +4339,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
4336 | SetPhantom = false; | 4339 | SetPhantom = false; |
4337 | } | 4340 | } |
4338 | } | 4341 | } |
4342 | else if (wasVD) | ||
4343 | { | ||
4344 | // Correspondingly, if VD is turned off, also turn off phantom | ||
4345 | SetPhantom = false; | ||
4346 | } | ||
4339 | 4347 | ||
4340 | if (UsePhysics && IsJoint()) | 4348 | if (UsePhysics && IsJoint()) |
4341 | { | 4349 | { |