diff options
author | Justin Clark-Casey (justincc) | 2013-03-20 01:46:50 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-03-20 01:46:50 +0000 |
commit | 3cb1c23554439dc1f9ea2911a27d16de986e2ffd (patch) | |
tree | 255931ddc9522ba18b4e9d72201cdf8652de6ae1 | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.zip opensim-SC-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.tar.gz opensim-SC-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.tar.bz2 opensim-SC-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.tar.xz |
Force a viewer object update for attachments at the end of the final Scene.CompleteMovement() in order to make all multi-attachments appear on the destination region.
For some reason, sending updates before this will not have this effect.
This may be something related to some viewers (e.g. LL 3.3.4) or something OpenSimulator isn't getting quite right.
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 82bb759..6d96c93 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1326,6 +1326,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
1326 | friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); | 1326 | friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); |
1327 | } | 1327 | } |
1328 | 1328 | ||
1329 | // XXX: If we force an update here, then multiple attachments do appear correctly on a destination region | ||
1330 | // If we do it a little bit earlier (e.g. when converting the child to a root agent) then this does not work. | ||
1331 | // This may be due to viewer code or it may be something we're not doing properly simulator side. | ||
1332 | lock (m_attachments) | ||
1333 | { | ||
1334 | foreach (SceneObjectGroup sog in m_attachments) | ||
1335 | sog.ScheduleGroupForFullUpdate(); | ||
1336 | } | ||
1337 | |||
1329 | // m_log.DebugFormat( | 1338 | // m_log.DebugFormat( |
1330 | // "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", | 1339 | // "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", |
1331 | // client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); | 1340 | // client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); |