diff options
Diffstat (limited to 'indra/lscript')
-rw-r--r-- | indra/lscript/lscript_execute.h | 7 | ||||
-rw-r--r-- | indra/lscript/lscript_execute/lscript_execute.cpp | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/indra/lscript/lscript_execute.h b/indra/lscript/lscript_execute.h index a22c37cfe9..9a631c4c8f 100644 --- a/indra/lscript/lscript_execute.h +++ b/indra/lscript/lscript_execute.h @@ -434,6 +434,13 @@ public: F32 quanta, U32& events_processed, LLTimer& timer); + // NOTE: babbage: this must be used on occasions where another script may already be executing. Only 2 levels of nesting are allowed. + // Provided to support bizarre detach behaviour only. Do not use. + virtual F32 runNested(BOOL b_print, const LLUUID &id, + const char **errorstr, + F32 quanta, + U32& events_processed, LLTimer& timer); + // Run smallest possible amount of code: an instruction for LSL2, a segment // between save tests for Mono void runInstructions(BOOL b_print, const LLUUID &id, diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp index 5630f2de0b..daa17f371c 100644 --- a/indra/lscript/lscript_execute/lscript_execute.cpp +++ b/indra/lscript/lscript_execute/lscript_execute.cpp @@ -961,6 +961,11 @@ F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **erro return inloop; } +F32 LLScriptExecute::runNested(BOOL b_print, const LLUUID &id, const char **errorstr, F32 quanta, U32& events_processed, LLTimer& timer) +{ + return LLScriptExecute::runQuanta(b_print, id, errorstr, quanta, events_processed, timer); +} + BOOL run_noop(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) { if (b_print) |