diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 7575fad..1604dad 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -770,7 +770,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
770 | { | 770 | { |
771 | i += 46; | 771 | i += 46; |
772 | //IsLocked = (data[i++] != 0) ? true : false; | 772 | //IsLocked = (data[i++] != 0) ? true : false; |
773 | UsePhysics = (data[i++] != 0) ? true : false; | 773 | UsePhysics = ((data[i++] != 0) && m_parentGroup.m_scene.m_physicalPrim) ? true : false; |
774 | //System.Console.WriteLine("U" + packet.ToBytes().Length.ToString()); | 774 | //System.Console.WriteLine("U" + packet.ToBytes().Length.ToString()); |
775 | IsTemporary = (data[i++] != 0) ? true : false; | 775 | IsTemporary = (data[i++] != 0) ? true : false; |
776 | IsPhantom = (data[i++] != 0) ? true : false; | 776 | IsPhantom = (data[i++] != 0) ? true : false; |
@@ -782,7 +782,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
782 | //Silently ignore it - TODO: FIXME Quick | 782 | //Silently ignore it - TODO: FIXME Quick |
783 | } | 783 | } |
784 | 784 | ||
785 | if (UsePhysics) | 785 | if (UsePhysics ) |
786 | { | 786 | { |
787 | AddFlag(LLObject.ObjectFlags.Physics); | 787 | AddFlag(LLObject.ObjectFlags.Physics); |
788 | if (PhysActor != null) | 788 | if (PhysActor != null) |
@@ -791,9 +791,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
791 | } | 791 | } |
792 | else | 792 | else |
793 | { | 793 | { |
794 | RemFlag(LLObject.ObjectFlags.Physics); | 794 | if (m_parentGroup.m_scene.m_physicalPrim) |
795 | if (PhysActor != null) | 795 | { |
796 | PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate; | 796 | RemFlag(LLObject.ObjectFlags.Physics); |
797 | if (PhysActor != null) | ||
798 | PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate; | ||
799 | } | ||
797 | } | 800 | } |
798 | 801 | ||
799 | if (IsPhantom) | 802 | if (IsPhantom) |