diff options
author | Sean Dague | 2009-06-19 12:21:20 +0000 |
---|---|---|
committer | Sean Dague | 2009-06-19 12:21:20 +0000 |
commit | 1adeb8ad7781beecbf1f23817eb9047e57f12027 (patch) | |
tree | d6ea15f8cd678fed3025b8a2934ca5f02c589635 /OpenSim/Region/ScriptEngine | |
parent | more type clean fixes for mono 2.4.2 (diff) | |
download | opensim-SC_OLD-1adeb8ad7781beecbf1f23817eb9047e57f12027.zip opensim-SC_OLD-1adeb8ad7781beecbf1f23817eb9047e57f12027.tar.gz opensim-SC_OLD-1adeb8ad7781beecbf1f23817eb9047e57f12027.tar.bz2 opensim-SC_OLD-1adeb8ad7781beecbf1f23817eb9047e57f12027.tar.xz |
From: Chris Yeoh <yeohc@au1.ibm.com>
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/EventManager.cs | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs index b97f62e..dc49549 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs | |||
@@ -208,7 +208,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
208 | det)); | 208 | det)); |
209 | } | 209 | } |
210 | 210 | ||
211 | public void touch_end(uint localID, uint originalID, IClientAPI remoteClient) | 211 | public void touch_end(uint localID, uint originalID, IClientAPI remoteClient, |
212 | SurfaceTouchEventArgs surfaceArgs) | ||
212 | { | 213 | { |
213 | // Add to queue for all scripts in ObjectID object | 214 | // Add to queue for all scripts in ObjectID object |
214 | DetectParams[] det = new DetectParams[1]; | 215 | DetectParams[] det = new DetectParams[1]; |
@@ -232,6 +233,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
232 | det[0].LinkNum = originalPart.LinkNum; | 233 | det[0].LinkNum = originalPart.LinkNum; |
233 | } | 234 | } |
234 | 235 | ||
236 | if (surfaceArgs != null) | ||
237 | { | ||
238 | det[0].SurfaceTouchArgs = surfaceArgs; | ||
239 | } | ||
240 | |||
235 | myScriptEngine.PostObjectEvent(localID, new EventParams( | 241 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
236 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, | 242 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, |
237 | det)); | 243 | det)); |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs index e4db0b5..3b9ff2e 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs | |||
@@ -156,7 +156,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
156 | det)); | 156 | det)); |
157 | } | 157 | } |
158 | 158 | ||
159 | public void touch_end(uint localID, uint originalID, IClientAPI remoteClient) | 159 | public void touch_end(uint localID, uint originalID, IClientAPI remoteClient, |
160 | SurfaceTouchEventArgs surfaceArgs) | ||
160 | { | 161 | { |
161 | // Add to queue for all scripts in ObjectID object | 162 | // Add to queue for all scripts in ObjectID object |
162 | DetectParams[] det = new DetectParams[1]; | 163 | DetectParams[] det = new DetectParams[1]; |
@@ -178,6 +179,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
178 | det[0].LinkNum = originalPart.LinkNum; | 179 | det[0].LinkNum = originalPart.LinkNum; |
179 | } | 180 | } |
180 | 181 | ||
182 | if (surfaceArgs != null) | ||
183 | { | ||
184 | det[0].SurfaceTouchArgs = surfaceArgs; | ||
185 | } | ||
186 | |||
181 | myScriptEngine.PostObjectEvent(localID, new EventParams( | 187 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
182 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, | 188 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, |
183 | det)); | 189 | det)); |