aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
diff options
context:
space:
mode:
authorDr Scofield2009-05-27 18:01:06 +0000
committerDr Scofield2009-05-27 18:01:06 +0000
commit901fdca13b8b6617ceabc4766c684799f4f8739b (patch)
treec99e087ce03c0e56520a94de48e2c706c0e53a45 /OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
parentmaking TarArchiveReader more resilient when faced with OARs created by (diff)
downloadopensim-SC_OLD-901fdca13b8b6617ceabc4766c684799f4f8739b.zip
opensim-SC_OLD-901fdca13b8b6617ceabc4766c684799f4f8739b.tar.gz
opensim-SC_OLD-901fdca13b8b6617ceabc4766c684799f4f8739b.tar.bz2
opensim-SC_OLD-901fdca13b8b6617ceabc4766c684799f4f8739b.tar.xz
From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added to the export/import XML along with the flag for AllowedInventoryDrop. The MySQL backend has been updated as well, though I haven't done one of those before so could do with a check. I added the migration mysql file as well. The other data backends need updating as well.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs10
1 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index 4c99873..8bf47e7 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -251,10 +251,16 @@ namespace OpenSim.Region.Framework.Scenes
251 251
252 // If the touched prim handles touches, deliver it 252 // If the touched prim handles touches, deliver it
253 // If not, deliver to root prim 253 // If not, deliver to root prim
254 if ((part.ScriptEvents & scriptEvents.touch_start) != 0) 254 if ((part.ScriptEvents & scriptEvents.touch_start) != 0)
255 EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); 255 EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg);
256 else 256 // Deliver to the root prim if the touched prim doesn't handle touches
257 // or if we're meant to pass on touches anyway. Don't send to root prim
258 // if prim touched is the root prim as we just did it
259 if (((part.ScriptEvents & scriptEvents.touch_start) == 0) ||
260 (part.PassTouches && (part.LocalId != obj.RootPart.LocalId)))
261 {
257 EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); 262 EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg);
263 }
258 264
259 return; 265 return;
260 } 266 }