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/Framework/Scenes/Scene.PacketHandlers.cs | |
parent | more type clean fixes for mono 2.4.2 (diff) | |
download | opensim-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.cs | 10 |
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 | } |