aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs23
1 files changed, 13 insertions, 10 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index b94f26e..34c6f7c 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1193,19 +1193,17 @@ namespace OpenSim.Region.Framework.Scenes
1193 // and it has already rezzed the attachments and started their scripts. 1193 // and it has already rezzed the attachments and started their scripts.
1194 // We do the following only for non-login agents, because their scripts 1194 // We do the following only for non-login agents, because their scripts
1195 // haven't started yet. 1195 // haven't started yet.
1196 if (PresenceType == PresenceType.Npc || (TeleportFlags & TeleportFlags.ViaLogin) != 0) 1196 if (PresenceType == PresenceType.Npc || IsRealLogin(m_teleportFlags))
1197 { 1197 {
1198 // Viewers which have a current outfit folder will actually rez their own attachments. However, 1198 // Viewers which have a current outfit folder will actually rez their own attachments. However,
1199 // viewers without (e.g. v1 viewers) will not, so we still need to make this call. 1199 // viewers without (e.g. v1 viewers) will not, so we still need to make this call.
1200 if (Scene.AttachmentsModule != null) 1200 if (Scene.AttachmentsModule != null)
1201 Util.FireAndForget( 1201 {
1202 o => 1202 Util.FireAndForget(o =>
1203 { 1203 {
1204// if (PresenceType != PresenceType.Npc && Util.FireAndForgetMethod != FireAndForgetMethod.None) 1204 Scene.AttachmentsModule.RezAttachments(this);
1205// System.Threading.Thread.Sleep(7000); 1205 });
1206 1206 }
1207 Scene.AttachmentsModule.RezAttachments(this);
1208 });
1209 } 1207 }
1210 else 1208 else
1211 { 1209 {
@@ -1267,6 +1265,11 @@ namespace OpenSim.Region.Framework.Scenes
1267 return true; 1265 return true;
1268 } 1266 }
1269 1267
1268 private static bool IsRealLogin(TeleportFlags teleportFlags)
1269 {
1270 return ((teleportFlags & TeleportFlags.ViaLogin) != 0) && ((teleportFlags & TeleportFlags.ViaHGLogin) == 0);
1271 }
1272
1270 /// <summary> 1273 /// <summary>
1271 /// Force viewers to show the avatar's current name. 1274 /// Force viewers to show the avatar's current name.
1272 /// </summary> 1275 /// </summary>
@@ -1698,7 +1701,7 @@ namespace OpenSim.Region.Framework.Scenes
1698 try 1701 try
1699 { 1702 {
1700 // Make sure it's not a login agent. We don't want to wait for updates during login 1703 // Make sure it's not a login agent. We don't want to wait for updates during login
1701 if (PresenceType != PresenceType.Npc && (m_teleportFlags & TeleportFlags.ViaLogin) == 0) 1704 if (!(PresenceType == PresenceType.Npc || IsRealLogin(m_teleportFlags)))
1702 { 1705 {
1703 // Let's wait until UpdateAgent (called by departing region) is done 1706 // Let's wait until UpdateAgent (called by departing region) is done
1704 if (!WaitForUpdateAgent(client)) 1707 if (!WaitForUpdateAgent(client))