diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 8 |
1 files changed, 8 insertions, 0 deletions
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 | { |