diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/YEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/YEngine/XMREvents.cs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMREvents.cs b/OpenSim/Region/ScriptEngine/YEngine/XMREvents.cs index 5a8b2a3..eb5aeeb 100644 --- a/OpenSim/Region/ScriptEngine/YEngine/XMREvents.cs +++ b/OpenSim/Region/ScriptEngine/YEngine/XMREvents.cs | |||
@@ -182,13 +182,26 @@ namespace OpenSim.Region.ScriptEngine.Yengine | |||
182 | new DetectParams[] { det })); | 182 | new DetectParams[] { det })); |
183 | } | 183 | } |
184 | 184 | ||
185 | public void changed(uint localID, uint change) | 185 | public void changed(uint localID, uint change, object data) |
186 | { | 186 | { |
187 | int ch = (int)change; | 187 | int ch = (int)change; |
188 | // Add to queue for all scripts in localID, Object pass change. | 188 | // Add to queue for all scripts in localID, Object pass change. |
189 | this.PostObjectEvent(localID, new EventParams( | 189 | if(data == null) |
190 | { | ||
191 | PostObjectEvent(localID, new EventParams( | ||
190 | "changed", new object[] { ch }, | 192 | "changed", new object[] { ch }, |
191 | zeroDetectParams)); | 193 | zeroDetectParams)); |
194 | return; | ||
195 | } | ||
196 | if ( data is UUID) | ||
197 | { | ||
198 | DetectParams det = new DetectParams(); | ||
199 | det.Key = (UUID)data; | ||
200 | PostObjectEvent(localID, new EventParams( | ||
201 | "changed", new object[] { ch }, | ||
202 | new DetectParams[] { det })); | ||
203 | return; | ||
204 | } | ||
192 | } | 205 | } |
193 | 206 | ||
194 | // state_entry: not processed here | 207 | // state_entry: not processed here |