aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2011-05-08 09:28:15 -0700
committerDiva Canto2011-05-08 09:28:15 -0700
commit25809caaeb6523d589d825a253db8d92a595dfbc (patch)
treea74b38cf831b87040184fb0c9c74230378426c44
parentAdd missing configs for ssl in Robust.HG.ini (diff)
downloadopensim-SC-25809caaeb6523d589d825a253db8d92a595dfbc.zip
opensim-SC-25809caaeb6523d589d825a253db8d92a595dfbc.tar.gz
opensim-SC-25809caaeb6523d589d825a253db8d92a595dfbc.tar.bz2
opensim-SC-25809caaeb6523d589d825a253db8d92a595dfbc.tar.xz
Mantis #5472
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs21
1 files changed, 15 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index e380067..e295a2a 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -891,6 +891,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
891 if (!m_scene.SimulationService.UpdateAgent(neighbourRegion, cAgent)) 891 if (!m_scene.SimulationService.UpdateAgent(neighbourRegion, cAgent))
892 { 892 {
893 // region doesn't take it 893 // region doesn't take it
894 ReInstantiateScripts(agent);
894 ResetFromTransit(agent.UUID); 895 ResetFromTransit(agent.UUID);
895 return agent; 896 return agent;
896 } 897 }
@@ -1760,14 +1761,22 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1760 protected void ReInstantiateScripts(ScenePresence sp) 1761 protected void ReInstantiateScripts(ScenePresence sp)
1761 { 1762 {
1762 int i = 0; 1763 int i = 0;
1763 sp.Attachments.ForEach(delegate(SceneObjectGroup sog) 1764 if (sp.InTransitScriptStates.Count > 0)
1764 { 1765 {
1765 sog.SetState(sp.InTransitScriptStates[i++], sp.Scene); 1766 sp.Attachments.ForEach(delegate(SceneObjectGroup sog)
1766 sog.CreateScriptInstances(0, false, sp.Scene.DefaultScriptEngine, 0); 1767 {
1767 sog.ResumeScripts(); 1768 if (i < sp.InTransitScriptStates.Count)
1768 }); 1769 {
1770 sog.SetState(sp.InTransitScriptStates[i++], sp.Scene);
1771 sog.CreateScriptInstances(0, false, sp.Scene.DefaultScriptEngine, 0);
1772 sog.ResumeScripts();
1773 }
1774 else
1775 m_log.ErrorFormat("[ENTITY TRANSFER MODULE]: InTransitScriptStates.Count={0} smaller than Attachments.Count={1}", sp.InTransitScriptStates.Count, sp.Attachments.Count);
1776 });
1769 1777
1770 sp.InTransitScriptStates.Clear(); 1778 sp.InTransitScriptStates.Clear();
1779 }
1771 } 1780 }
1772 #endregion 1781 #endregion
1773 1782