diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 5b610d3..52f6c1a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1789,11 +1789,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
1789 | if (m_rootPart.PhysActor != null && | 1789 | if (m_rootPart.PhysActor != null && |
1790 | (!m_rootPart.PhysActor.IsPhysical)) | 1790 | (!m_rootPart.PhysActor.IsPhysical)) |
1791 | { | 1791 | { |
1792 | // Possible ghost prim | ||
1792 | if (m_rootPart.PhysActor.Position != m_rootPart.GroupPosition) | 1793 | if (m_rootPart.PhysActor.Position != m_rootPart.GroupPosition) |
1793 | { | 1794 | { |
1794 | m_rootPart.PhysActor.Position = m_rootPart.GroupPosition; | 1795 | foreach (SceneObjectPart part in Children.Values) |
1795 | m_rootPart.PhysActor.Orientation = m_rootPart.RotationOffset; | 1796 | { |
1796 | m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor); | 1797 | // Re-set physics actor positions and |
1798 | // orientations | ||
1799 | part.GroupPosition = m_rootPart.GroupPosition; | ||
1800 | } | ||
1797 | } | 1801 | } |
1798 | } | 1802 | } |
1799 | // m_log.DebugFormat( | 1803 | // m_log.DebugFormat( |