Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007156opensim[REGION] Scripting Enginepublic2014-05-07 16:282015-01-13 12:37
Assigned To 
PlatformOperating SystemOperating System Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007156: llPassTouches(TRUE) not restored to child prim if script removed.
DescriptionBy default a child prim will pass all touches to the root. (See: [^]) this changes to false automatically if you drop a script with a touch event into the child.

In SecondLife, if you remove the script with a touch event from a child prim then touch behaviour is automatically restored to pass to the root prim again.

In OpenSim, if you remove the script with a touch event from the child prim then touch behaviour is not restored. Touches are kept with the child prim and not passed to root.
Steps To ReproduceCreate 2 prims and link, drop this script in root.

    touch_start(integer num)
        llSay(0,"Prim "+(string)llDetectedLinkNumber(0)+" touched");

Touching each prim will return it's link number.

Now drop any script with a touch event in the child. This same script will do, let it compile and delete that script.

The child prim no longer passes touches in OpenSim, in SecondLife the touches revert to being passed to the root prim.
TagsNo tags attached.
Git Revision or version numberOpenSim 0.8.0 Dev (b3ebec1)
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim
Script Engine
EnvironmentMono / Linux64
Mono Version3.0
ViewerSingu 1.8.5 Win and Linux
Attached Files

- Relationships

-  Notes
aleric (reporter)
2014-06-02 06:34

Just ran into this (again). A work around is to drop in this script afterwards:

Dev Random (reporter)
2014-07-14 10:43

I believe this issue is gone, with the commit in mantis 0007255.
djphil (reporter)
2014-07-15 04:51

I also reported a problem with llPassTouch ... Have you seen ? [^]
jfhopkin (reporter)
2015-01-13 12:37

It looks like it's still an issue (at least in Kitely). And llPassTouches(TRUE) isn't a complete workaround because it still doesn't pass the touch_end() event to the root prim.

However, if the object is then taken into inventory and re-rezzed, touch_end() starts to work.

- Issue History
Date Modified Username Field Change
2014-05-07 16:28 SeanSB New Issue
2014-05-07 16:30 SeanSB Description Updated View Revisions
2014-05-07 16:32 SeanSB Git Revision or version number => OpenSim 0.8.0 Dev (b3ebec1)
2014-06-02 06:34 aleric Note Added: 0026228
2014-06-02 06:37 aleric Status new => confirmed
2014-07-14 10:43 Dev Random Note Added: 0026475
2014-07-15 04:51 djphil Note Added: 0026481
2015-01-13 12:37 jfhopkin Note Added: 0027230

Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker