aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie2012-01-25 14:44:09 +0100
committerMelanie2012-01-25 14:44:09 +0100
commit24862eaf15d873bbf0a695a8274f904415143466 (patch)
treefe20b009b7afe07865158ae9a2dc9ae05939f3bb /OpenSim/Region
parentMerge branch 'master' into careminster (diff)
downloadopensim-SC_OLD-24862eaf15d873bbf0a695a8274f904415143466.zip
opensim-SC_OLD-24862eaf15d873bbf0a695a8274f904415143466.tar.gz
opensim-SC_OLD-24862eaf15d873bbf0a695a8274f904415143466.tar.bz2
opensim-SC_OLD-24862eaf15d873bbf0a695a8274f904415143466.tar.xz
Spin off starting scripts in rezzed objects into a thread to avoid a recursion
into the script engine if the script was suspended inside an event.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs5
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 7af5d2d..840348a 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3007,7 +3007,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3007 // objects rezzed with this method are die_at_edge by default. 3007 // objects rezzed with this method are die_at_edge by default.
3008 new_group.RootPart.SetDieAtEdge(true); 3008 new_group.RootPart.SetDieAtEdge(true);
3009 3009
3010 new_group.ResumeScripts(); 3010 Util.FireAndForget(delegate object x)
3011 {
3012 new_group.ResumeScripts();
3013 });
3011 3014
3012 m_ScriptEngine.PostObjectEvent(m_host.LocalId, new EventParams( 3015 m_ScriptEngine.PostObjectEvent(m_host.LocalId, new EventParams(
3013 "object_rez", new Object[] { 3016 "object_rez", new Object[] {