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