diff options
author | Justin Clark-Casey (justincc) | 2014-01-10 20:37:14 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-01-10 20:37:14 +0000 |
commit | 68cbccb288dd59cedd42d5efe622aff637af2b59 (patch) | |
tree | d14ec33c86ab6d0ec163e6767e50fd9ab1a9c270 /OpenSim/Region | |
parent | Merge branch 'justincc-master' (diff) | |
parent | Dynamically adjust to the number of visual params sent. (diff) | |
download | opensim-SC_OLD-68cbccb288dd59cedd42d5efe622aff637af2b59.zip opensim-SC_OLD-68cbccb288dd59cedd42d5efe622aff637af2b59.tar.gz opensim-SC_OLD-68cbccb288dd59cedd42d5efe622aff637af2b59.tar.bz2 opensim-SC_OLD-68cbccb288dd59cedd42d5efe622aff637af2b59.tar.xz |
Merge branch 'justincc-master'
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 9548200..9bd7632 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -3235,13 +3235,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3235 | 3235 | ||
3236 | Vector3 oldPos; | 3236 | Vector3 oldPos; |
3237 | 3237 | ||
3238 | // FIXME: This improves the situation where editing just the root prim of an attached object would send | ||
3239 | // all the other parts to oblivion after detach/reattach. However, a problem remains since the root prim | ||
3240 | // still ends up in the wrong position on reattach. | ||
3241 | if (IsAttachment) | 3238 | if (IsAttachment) |
3242 | oldPos = RootPart.OffsetPosition; | 3239 | oldPos = m_rootPart.AttachedPos + m_rootPart.OffsetPosition; // OffsetPosition should always be 0 in an attachments's root prim |
3243 | else | 3240 | else |
3244 | oldPos = AbsolutePosition + RootPart.OffsetPosition; | 3241 | oldPos = AbsolutePosition + m_rootPart.OffsetPosition; |
3245 | 3242 | ||
3246 | Vector3 diff = oldPos - newPos; | 3243 | Vector3 diff = oldPos - newPos; |
3247 | Quaternion partRotation = m_rootPart.RotationOffset; | 3244 | Quaternion partRotation = m_rootPart.RotationOffset; |
@@ -3256,6 +3253,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3256 | } | 3253 | } |
3257 | 3254 | ||
3258 | AbsolutePosition = newPos; | 3255 | AbsolutePosition = newPos; |
3256 | |||
3257 | if (IsAttachment) | ||
3258 | m_rootPart.AttachedPos = newPos; | ||
3259 | 3259 | ||
3260 | HasGroupChanged = true; | 3260 | HasGroupChanged = true; |
3261 | ScheduleGroupForTerseUpdate(); | 3261 | ScheduleGroupForTerseUpdate(); |