aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs13
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)