Yengine: we also need to cancel timer events in queue, because some bad scripts that do work on X

This commit is contained in:
UbitUmarov
2019-11-11 12:51:09 +00:00
parent 38a77a8bb5
commit e87dfd48bf
5 changed files with 50 additions and 2 deletions

View File

@@ -854,7 +854,7 @@ namespace OpenSim.Region.ScriptEngine.Yengine
public bool PostScriptEvent(UUID itemID, EventParams parms)
{
XMRInstance instance = GetInstance(itemID);
if(instance == null)
if (instance == null)
return false;
TraceCalls("[YEngine]: YEngine.PostScriptEvent({0},{1})", itemID.ToString(), parms.EventName);
@@ -863,6 +863,17 @@ namespace OpenSim.Region.ScriptEngine.Yengine
return true;
}
public void CancelScriptEvent(UUID itemID, string eventName)
{
XMRInstance instance = GetInstance(itemID);
if (instance == null)
return;
TraceCalls("[YEngine]: YEngine.CancelScriptEvent({0},{1})", itemID.ToString(), eventName);
instance.CancelEvent(eventName);
}
// Events targeted at all scripts in the given prim.
// localID = which prim
// parms = event to post