diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 4ed3413..8e419f9 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -769,7 +769,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
769 | { | 769 | { |
770 | m_groupPosition = value; | 770 | m_groupPosition = value; |
771 | PhysicsActor actor = PhysActor; | 771 | PhysicsActor actor = PhysActor; |
772 | if (actor != null) | 772 | if (actor != null && ParentGroup.Scene.PhysicsScene != null) |
773 | { | 773 | { |
774 | try | 774 | try |
775 | { | 775 | { |
@@ -2110,6 +2110,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2110 | Array.Copy(Shape.ExtraParams, extraP, extraP.Length); | 2110 | Array.Copy(Shape.ExtraParams, extraP, extraP.Length); |
2111 | dupe.Shape.ExtraParams = extraP; | 2111 | dupe.Shape.ExtraParams = extraP; |
2112 | 2112 | ||
2113 | if (KeyframeMotion != null) | ||
2114 | dupe.KeyframeMotion = KeyframeMotion.Copy(null); | ||
2115 | |||
2113 | if (userExposed) | 2116 | if (userExposed) |
2114 | { | 2117 | { |
2115 | if (dupe.m_shape.SculptEntry && dupe.m_shape.SculptTexture != UUID.Zero) | 2118 | if (dupe.m_shape.SculptEntry && dupe.m_shape.SculptTexture != UUID.Zero) |
@@ -3407,6 +3410,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3407 | /// </summary> | 3410 | /// </summary> |
3408 | public void SendTerseUpdateToAllClients() | 3411 | public void SendTerseUpdateToAllClients() |
3409 | { | 3412 | { |
3413 | if (ParentGroup == null || ParentGroup.Scene == null) | ||
3414 | return; | ||
3415 | |||
3410 | ParentGroup.Scene.ForEachClient(delegate(IClientAPI client) | 3416 | ParentGroup.Scene.ForEachClient(delegate(IClientAPI client) |
3411 | { | 3417 | { |
3412 | SendTerseUpdateToClient(client); | 3418 | SendTerseUpdateToClient(client); |