aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/AvatarFactory
diff options
context:
space:
mode:
authorMelanie2012-02-25 12:25:16 +0100
committerMelanie2012-02-25 12:25:16 +0100
commit5eb1679367754d530edb4c50d432847ed1a027af (patch)
tree7fb472108b607edffbb07262ff044c7aa05aef50 /OpenSim/Region/CoreModules/Avatar/AvatarFactory
parentMerge branch 'ubitwork' (diff)
downloadopensim-SC_OLD-5eb1679367754d530edb4c50d432847ed1a027af.zip
opensim-SC_OLD-5eb1679367754d530edb4c50d432847ed1a027af.tar.gz
opensim-SC_OLD-5eb1679367754d530edb4c50d432847ed1a027af.tar.bz2
opensim-SC_OLD-5eb1679367754d530edb4c50d432847ed1a027af.tar.xz
Delay the sending of the initial werables update until the inventory and
VFS in the viewer are ready. We're much faster than SL and that exposes this race condition. Also reinstate the extra avatar data send on login
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/AvatarFactory')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs17
1 files changed, 11 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
index b0cee03..93e22e0 100644
--- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
@@ -551,12 +551,17 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
551 /// <param name="client"></param> 551 /// <param name="client"></param>
552 private void Client_OnRequestWearables(IClientAPI client) 552 private void Client_OnRequestWearables(IClientAPI client)
553 { 553 {
554 // m_log.DebugFormat("[AVFACTORY]: Client_OnRequestWearables called for {0} ({1})", client.Name, client.AgentId); 554 Util.FireAndForget(delegate(object x)
555 ScenePresence sp = m_scene.GetScenePresence(client.AgentId); 555 {
556 if (sp != null) 556 Thread.Sleep(2000);
557 client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); 557
558 else 558 // m_log.DebugFormat("[AVFACTORY]: Client_OnRequestWearables called for {0} ({1})", client.Name, client.AgentId);
559 m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId); 559 ScenePresence sp = m_scene.GetScenePresence(client.AgentId);
560 if (sp != null)
561 client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++);
562 else
563 m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId);
564 });
560 } 565 }
561 566
562 /// <summary> 567 /// <summary>