Mantis#2183. Thank you kindly, Ewe Loon for a patch that addresses:

after using llTakeControls my sim receives about 200 messages per second, 
l of which get queued , this could be because there is no lag as the viewer 
and sim are on the same computer. The patch I have included checks to see if 
the "Changed" param is 0 then searches the EventQueue for Control messages 
being sent to the same localid, if it finds a message already in the Queue 
and Changed==0 then the new message is only notifing you the key is being held, 
since there is already a message the new one isnt needed so it isnt added 
to the queue.
This commit is contained in:
Charles Krinke
2008-09-14 00:47:45 +00:00
parent 37e6ce24a2
commit f2d60976d0
2 changed files with 26 additions and 0 deletions

View File

@@ -357,6 +357,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
public void control(uint localID, UUID itemID, UUID agentID, uint held, uint change)
{
if ((change == 0) && (myScriptEngine.m_EventQueueManager.CheckEeventQueueForEvent(localID,"control"))) return;
myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "control", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLString(agentID.ToString()), new LSL_Types.LSLInteger(held), new LSL_Types.LSLInteger(change)});
}