make the hack more extensive. Forbid sog/sop updates if Intransit but

release it sooner
avinationmerge
UbitUmarov 2014-08-21 23:18:51 +01:00
parent 6674548af0
commit d5bb80798d
1 changed files with 13 additions and 8 deletions

View File

@ -3515,10 +3515,10 @@ namespace OpenSim.Region.Framework.Scenes
SendAppearanceToAgent(this); SendAppearanceToAgent(this);
// if (cachedappearance) m_inTransit = false;
// {
SendAppearanceToAllOtherAgents(); SendAppearanceToAllOtherAgents();
// }
if(Animator!= null) if(Animator!= null)
Animator.SendAnimPack(); Animator.SendAnimPack();
} }
@ -4668,7 +4668,7 @@ namespace OpenSim.Region.Framework.Scenes
public void SendAttachmentScheduleUpdate(SceneObjectGroup sog) public void SendAttachmentScheduleUpdate(SceneObjectGroup sog)
{ {
if (IsChildAgent) if (IsChildAgent || IsInTransit)
return; return;
SceneObjectPart[] origparts = sog.Parts; SceneObjectPart[] origparts = sog.Parts;
@ -4746,7 +4746,7 @@ namespace OpenSim.Region.Framework.Scenes
public void SendAttachmentUpdate(SceneObjectGroup sog, UpdateRequired UpdateFlag) public void SendAttachmentUpdate(SceneObjectGroup sog, UpdateRequired UpdateFlag)
{ {
if (IsChildAgent) if (IsChildAgent || IsInTransit)
return; return;
PrimUpdateFlags flag; PrimUpdateFlags flag;
@ -4796,7 +4796,7 @@ namespace OpenSim.Region.Framework.Scenes
public void SendAttachmentScheduleUpdate(SceneObjectPart part) public void SendAttachmentScheduleUpdate(SceneObjectPart part)
{ {
if (IsChildAgent) if (IsChildAgent || IsInTransit)
return; return;
@ -4836,7 +4836,7 @@ namespace OpenSim.Region.Framework.Scenes
public void SendAttachmentUpdate(SceneObjectPart part, UpdateRequired UpdateFlag) public void SendAttachmentUpdate(SceneObjectPart part, UpdateRequired UpdateFlag)
{ {
if (IsChildAgent) if (IsChildAgent || IsInTransit)
return; return;
PrimUpdateFlags flag; PrimUpdateFlags flag;
@ -5850,7 +5850,12 @@ namespace OpenSim.Region.Framework.Scenes
{ {
List<ScenePresence> allpresences = m_scene.GetScenePresences(); List<ScenePresence> allpresences = m_scene.GetScenePresences();
foreach (ScenePresence p in allpresences) foreach (ScenePresence p in allpresences)
SendKillTo(p); {
if (p == this)
continue;
SendKillTo(p);
p.SendKillTo(this);
}
if (Scene.AttachmentsModule != null) if (Scene.AttachmentsModule != null)
Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true);
} }