aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorSean Dague2009-06-19 12:21:20 +0000
committerSean Dague2009-06-19 12:21:20 +0000
commit1adeb8ad7781beecbf1f23817eb9047e57f12027 (patch)
treed6ea15f8cd678fed3025b8a2934ca5f02c589635 /OpenSim/Region/ScriptEngine
parentmore type clean fixes for mono 2.4.2 (diff)
downloadopensim-SC-1adeb8ad7781beecbf1f23817eb9047e57f12027.zip
opensim-SC-1adeb8ad7781beecbf1f23817eb9047e57f12027.tar.gz
opensim-SC-1adeb8ad7781beecbf1f23817eb9047e57f12027.tar.bz2
opensim-SC-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.cs8
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/EventManager.cs8
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));