aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
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/Framework/Scenes/Scene.PacketHandlers.cs
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/Framework/Scenes/Scene.PacketHandlers.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs10
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index e0de029..9251aa6 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -269,10 +269,14 @@ namespace OpenSim.Region.Framework.Scenes
269 } 269 }
270 } 270 }
271 271
272 public virtual void ProcessObjectDeGrab(uint localID, IClientAPI remoteClient) 272 public virtual void ProcessObjectDeGrab(uint localID, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs)
273 { 273 {
274 List<EntityBase> EntityList = GetEntities(); 274 List<EntityBase> EntityList = GetEntities();
275 275
276 SurfaceTouchEventArgs surfaceArg = null;
277 if (surfaceArgs != null && surfaceArgs.Count > 0)
278 surfaceArg = surfaceArgs[0];
279
276 foreach (EntityBase ent in EntityList) 280 foreach (EntityBase ent in EntityList)
277 { 281 {
278 if (ent is SceneObjectGroup) 282 if (ent is SceneObjectGroup)
@@ -288,9 +292,9 @@ namespace OpenSim.Region.Framework.Scenes
288 // If the touched prim handles touches, deliver it 292 // If the touched prim handles touches, deliver it
289 // If not, deliver to root prim 293 // If not, deliver to root prim
290 if ((part.ScriptEvents & scriptEvents.touch_end) != 0) 294 if ((part.ScriptEvents & scriptEvents.touch_end) != 0)
291 EventManager.TriggerObjectDeGrab(part.LocalId, 0, remoteClient); 295 EventManager.TriggerObjectDeGrab(part.LocalId, 0, remoteClient, surfaceArg);
292 else 296 else
293 EventManager.TriggerObjectDeGrab(obj.RootPart.LocalId, part.LocalId, remoteClient); 297 EventManager.TriggerObjectDeGrab(obj.RootPart.LocalId, part.LocalId, remoteClient, surfaceArg);
294 298
295 return; 299 return;
296 } 300 }