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.cs11
1 files changed, 11 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 6da4c3e..04fa03e 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -1306,9 +1306,12 @@ namespace OpenSim.Region.Environment.Scenes
1306 1306
1307 PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate; 1307 PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate;
1308 PhysActor.OnOutOfBounds -= PhysicsOutOfBounds; 1308 PhysActor.OnOutOfBounds -= PhysicsOutOfBounds;
1309 PhysActor.delink();
1309 } 1310 }
1310 1311
1311 PhysActor.IsPhysical = UsePhysics; 1312 PhysActor.IsPhysical = UsePhysics;
1313
1314
1312 // If we're not what we're supposed to be in the physics scene, recreate ourselves. 1315 // If we're not what we're supposed to be in the physics scene, recreate ourselves.
1313 //m_parentGroup.Scene.PhysicsScene.RemovePrim(PhysActor); 1316 //m_parentGroup.Scene.PhysicsScene.RemovePrim(PhysActor);
1314 /// that's not wholesome. Had to make Scene public 1317 /// that's not wholesome. Had to make Scene public
@@ -1331,6 +1334,14 @@ namespace OpenSim.Region.Environment.Scenes
1331 1334
1332 PhysActor.OnRequestTerseUpdate += PhysicsRequestingTerseUpdate; 1335 PhysActor.OnRequestTerseUpdate += PhysicsRequestingTerseUpdate;
1333 PhysActor.OnOutOfBounds += PhysicsOutOfBounds; 1336 PhysActor.OnOutOfBounds += PhysicsOutOfBounds;
1337 if (ParentID != 0 && ParentID != LocalID)
1338 {
1339 if (ParentGroup.RootPart.PhysActor != null)
1340 {
1341 PhysActor.link(ParentGroup.RootPart.PhysActor);
1342 }
1343 }
1344
1334 } 1345 }
1335 } 1346 }
1336 } 1347 }