Merge commit '4ad9b275302ee109937512963eab095ff542a0c7' into careminster
commit
6954024fb2
|
@ -153,10 +153,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RezAttachments. This should only be called upon login on the first region.
|
|
||||||
/// Attachment rezzings on crossings and TPs are done in a different way.
|
|
||||||
/// </summary>
|
|
||||||
public void RezAttachments(IScenePresence sp)
|
public void RezAttachments(IScenePresence sp)
|
||||||
{
|
{
|
||||||
if (!Enabled)
|
if (!Enabled)
|
||||||
|
@ -165,9 +161,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
if (null == sp.Appearance)
|
if (null == sp.Appearance)
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[ATTACHMENTS MODULE]: Appearance has not been initialized for agent {0}", sp.UUID);
|
m_log.WarnFormat("[ATTACHMENTS MODULE]: Appearance has not been initialized for agent {0}", sp.UUID);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sp.GetAttachments().Count > 0)
|
||||||
|
{
|
||||||
|
// m_log.DebugFormat(
|
||||||
|
// "[ATTACHMENTS MODULE]: Not doing simulator-side attachment rez for {0} in {1} as their viewer has already rezzed attachments",
|
||||||
|
// m_scene.Name, sp.Name);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name);
|
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name);
|
||||||
|
|
||||||
XmlDocument doc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
|
|
|
@ -54,6 +54,10 @@ namespace OpenSim.Region.Framework.Interfaces
|
||||||
/// RezAttachments. This should only be called upon login on the first region.
|
/// RezAttachments. This should only be called upon login on the first region.
|
||||||
/// Attachment rezzings on crossings and TPs are done in a different way.
|
/// Attachment rezzings on crossings and TPs are done in a different way.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This is only actually necessary for viewers which do not have a current outfit folder (these viewers make
|
||||||
|
/// their own attachment calls on login) and agents which have attachments but no viewer (e.g. NPCs).
|
||||||
|
/// </remarks>
|
||||||
/// <param name="sp"></param>
|
/// <param name="sp"></param>
|
||||||
void RezAttachments(IScenePresence sp);
|
void RezAttachments(IScenePresence sp);
|
||||||
|
|
||||||
|
|
|
@ -1098,13 +1098,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// haven't started yet.
|
// haven't started yet.
|
||||||
if (PresenceType == PresenceType.Npc || (TeleportFlags & TeleportFlags.ViaLogin) != 0)
|
if (PresenceType == PresenceType.Npc || (TeleportFlags & TeleportFlags.ViaLogin) != 0)
|
||||||
{
|
{
|
||||||
// We leave a 5 second pause before attempting to rez attachments to avoid a clash with
|
// Viewers which have a current outfit folder will actually rez their own attachments. However,
|
||||||
// version 3 viewers that maybe doing their own attachment rezzing related to their current
|
// viewers without (e.g. v1 viewers) will not, so we still need to make this call.
|
||||||
// outfit folder on startup. If these operations do clash, then the symptoms are invisible
|
//
|
||||||
// attachments until one zooms in on the avatar.
|
// However, we leave a 5 second pause to try and avoid a clash with viewers that are rezzing
|
||||||
//
|
// attachments themselves. This should then mean that this call ends up doing nothing.
|
||||||
// We do not pause if we are launching on the same thread anyway in order to avoid pointlessly
|
|
||||||
// delaying any attachment related regression tests.
|
|
||||||
if (Scene.AttachmentsModule != null)
|
if (Scene.AttachmentsModule != null)
|
||||||
Util.FireAndForget(
|
Util.FireAndForget(
|
||||||
o =>
|
o =>
|
||||||
|
|
Loading…
Reference in New Issue