aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP
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/ClientStack/LindenUDP
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/ClientStack/LindenUDP')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs21
1 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 98c84ae..1109e77 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -197,7 +197,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
197 private UpdatePrimTexture handlerUpdatePrimTexture; 197 private UpdatePrimTexture handlerUpdatePrimTexture;
198 private GrabObject handlerGrabObject; //OnGrabObject; 198 private GrabObject handlerGrabObject; //OnGrabObject;
199 private MoveObject handlerGrabUpdate; //OnGrabUpdate; 199 private MoveObject handlerGrabUpdate; //OnGrabUpdate;
200 private ObjectSelect handlerDeGrabObject; //OnDeGrabObject; 200 private DeGrabObject handlerDeGrabObject; //OnDeGrabObject;
201 private SpinStart handlerSpinStart; //OnSpinStart; 201 private SpinStart handlerSpinStart; //OnSpinStart;
202 private SpinObject handlerSpinUpdate; //OnSpinUpdate; 202 private SpinObject handlerSpinUpdate; //OnSpinUpdate;
203 private SpinStop handlerSpinStop; //OnSpinStop; 203 private SpinStop handlerSpinStop; //OnSpinStop;
@@ -1021,7 +1021,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1021 public event LinkObjects OnLinkObjects; 1021 public event LinkObjects OnLinkObjects;
1022 public event DelinkObjects OnDelinkObjects; 1022 public event DelinkObjects OnDelinkObjects;
1023 public event GrabObject OnGrabObject; 1023 public event GrabObject OnGrabObject;
1024 public event ObjectSelect OnDeGrabObject; 1024 public event DeGrabObject OnDeGrabObject;
1025 public event SpinStart OnSpinStart; 1025 public event SpinStart OnSpinStart;
1026 public event SpinStop OnSpinStop; 1026 public event SpinStop OnSpinStop;
1027 public event ObjectDuplicate OnObjectDuplicate; 1027 public event ObjectDuplicate OnObjectDuplicate;
@@ -5991,7 +5991,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5991 handlerDeGrabObject = OnDeGrabObject; 5991 handlerDeGrabObject = OnDeGrabObject;
5992 if (handlerDeGrabObject != null) 5992 if (handlerDeGrabObject != null)
5993 { 5993 {
5994 handlerDeGrabObject(deGrab.ObjectData.LocalID, this); 5994 List<SurfaceTouchEventArgs> touchArgs = new List<SurfaceTouchEventArgs>();
5995 if ((deGrab.SurfaceInfo != null) && (deGrab.SurfaceInfo.Length > 0))
5996 {
5997 foreach (ObjectDeGrabPacket.SurfaceInfoBlock surfaceInfo in deGrab.SurfaceInfo)
5998 {
5999 SurfaceTouchEventArgs arg = new SurfaceTouchEventArgs();
6000 arg.Binormal = surfaceInfo.Binormal;
6001 arg.FaceIndex = surfaceInfo.FaceIndex;
6002 arg.Normal = surfaceInfo.Normal;
6003 arg.Position = surfaceInfo.Position;
6004 arg.STCoord = surfaceInfo.STCoord;
6005 arg.UVCoord = surfaceInfo.UVCoord;
6006 touchArgs.Add(arg);
6007 }
6008 }
6009 handlerDeGrabObject(deGrab.ObjectData.LocalID, this, touchArgs);
5995 } 6010 }
5996 break; 6011 break;
5997 case PacketType.ObjectSpinStart: 6012 case PacketType.ObjectSpinStart: