aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-03-20 01:46:50 +0000
committerJustin Clark-Casey (justincc)2013-03-20 01:46:50 +0000
commit3cb1c23554439dc1f9ea2911a27d16de986e2ffd (patch)
tree255931ddc9522ba18b4e9d72201cdf8652de6ae1
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.zip
opensim-SC_OLD-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.tar.gz
opensim-SC_OLD-3cb1c23554439dc1f9ea2911a27d16de986e2ffd.tar.bz2
opensim-SC_OLD-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.cs9
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);