diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/EventManager.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/EventManager.cs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs index 7c2136e..50a95a9 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs | |||
@@ -218,9 +218,22 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
218 | public void changed(uint localID, uint change, object parameter) | 218 | public void changed(uint localID, uint change, object parameter) |
219 | { | 219 | { |
220 | // Add to queue for all scripts in localID, Object pass change. | 220 | // Add to queue for all scripts in localID, Object pass change. |
221 | myScriptEngine.PostObjectEvent(localID, new EventParams( | 221 | if(parameter == null) |
222 | "changed",new object[] { new LSL_Types.LSLInteger(change) }, | 222 | { |
223 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
224 | "changed", new object[] { new LSL_Types.LSLInteger(change) }, | ||
223 | new DetectParams[0])); | 225 | new DetectParams[0])); |
226 | return; | ||
227 | } | ||
228 | if (parameter is UUID) | ||
229 | { | ||
230 | DetectParams det = new DetectParams(); | ||
231 | det.Key = (UUID)parameter; | ||
232 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
233 | "changed", new object[] { new LSL_Types.LSLInteger(change) }, | ||
234 | new DetectParams[] { det })); | ||
235 | return; | ||
236 | } | ||
224 | } | 237 | } |
225 | 238 | ||
226 | // state_entry: not processed here | 239 | // state_entry: not processed here |