From 24cf685e55595522f7941e5cdd17a0bdedc4e72a Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 23 Apr 2008 10:20:38 +0000 Subject: From: Dr Schofield the attached patch fixes http://opensimulator.org/mantis/view.php?id=936 aka load-xml/load-xml2 crashing. problem lies with basic physics not creating physics actors. the solution was already present in SceneObjectPart.cs. --- OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs') diff --git a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs index 850a3cc..391d3f3 100644 --- a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs +++ b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs @@ -89,8 +89,14 @@ namespace OpenSim.Region.Environment.Scenes new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); - rootPart.PhysActor.LocalID = rootPart.LocalId; - rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); + + // to quote from SceneObjectPart: Basic + // Physics returns null.. joy joy joy. + if (rootPart.PhysActor != null) + { + rootPart.PhysActor.LocalID = rootPart.LocalId; + rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); + } } primCount++; } @@ -193,9 +199,13 @@ namespace OpenSim.Region.Environment.Scenes new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); - rootPart.PhysActor.LocalID = rootPart.LocalId; - - rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); + // to quote from SceneObjectPart: Basic + // Physics returns null.. joy joy joy. + if (rootPart.PhysActor != null) + { + rootPart.PhysActor.LocalID = rootPart.LocalId; + rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); + } rootPart.Velocity = receivedVelocity; } -- cgit v1.1