• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-4158
Type: Bug Bug
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Fake Fitzgerald
Votes: 4
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

The prim is draggable like Ctrl-Drag when state changing in touch/touch_start event and next state do not have touch_start/touch/touch_end event.

Created: 10/Jan/08 12:13 PM   Updated: 28/Jul/09 07:04 AM
Return to search
Component/s: Scripting, User Interface
Affects Version/s: 1.20, 1.18.5.3, 1.19.0 Release Candidate, 1.21, 1.22 Release Candidate, 1.22, 1.23
Fix Version/s: None

Environment:
OS Version: Microsoft Windows XP Service Pack 2 (Build 2600)
Graphics Card Vendor: ATI Technologies Inc.
Graphics Card: ATI Radeon 9600 / X1050 Series x86/SSE2
OpenGL Version: 2.0.6458 WinXP Release
Issue Links:
Duplicate
 
Relates
 

Linden Lab Issue ID: DEV-8897


 Description  « Hide
To check this behavior, put this script into a prim and drag it.
(not use ctrl-key)
default
{
    touch_start(integer n)
    {
        state drag;
    }
}

state drag
{
    state_exit()
    {
    }
}

(state_exit is dummy to avoid the compile error)



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Harleen Gretzky added a comment - 10/Jan/08 02:09 PM
I can't reproduce this, it will not drag for me unless I use the CTRL key.

Nock Forager added a comment - 10/Jan/08 04:26 PM
Try exactly as followed:
1.Rez some prim.
2.Open New Script, and put the sample script.
3.Save it and Close Edit mode.
4.Drag the prim without Ctrl hold down.
5.The prim moving around as same as you did ctrl+drag it.

6.Once you quit draggin, it won't happen again.

If you want to repro this again, you need to "Reset" the script.


Harleen Gretzky added a comment - 10/Jan/08 05:14 PM
Repros that way, I was touching it first (which is the same reason it only works once).

Torley Linden added a comment - 16/Jan/08 03:07 PM
========-
Removed Affects Version/s of "First Look: WindLight" – as it says when you're editing an issue, "ONLY select a "First Look" if this issue ONLY affects that version." We do this to better focus on FL-specific issues. Thanks!
========-

shirlee iuga added a comment - 10/Aug/08 04:29 PM
I had strange problems in a similliar case:
I had a script with about 6 states in an object, and in some of them I put in a touch_start(...) event.
When I rezzed it on 36m height, all was ok.

But when I rezzed the same object on 900m and 3000m, it started to move a little bit as soon as I touched it.
When I put in empty touch events like "touch_start(integer a){}" in every state, this did not happen again. I tried this in several Sims and got the same behaviour.

I am using viewer 1.20.15, (Cool Viewer) and Server Version here was 1.23.4.93100 in all regions.


Kaluura Boa added a comment - 01/Oct/08 08:23 AM
I didn't find this bug report before to post mine. I just discovered the problem yesterday and it's the same.

Chalice Yao added a comment - 02/Oct/08 01:33 AM
Regarding viewer internals, I presume this is more of a SVC than a VWR issue.

The way it works currently in the viewer is:

the viewer checks for the 'special' leftclick actions set on objects. Like pay, sit, etc.

if none are set, it defaults down to touch. Now, the thing is, this part also handles..grabbing. It's part of the touch default.

Now, I presume the issue is actually server side here.
My guess is that 'grab' on objects is actually touch without a touch event set. As in, you set up an object for grab/drag, the touch flag is enabled on the object server-side, and grab works due to there being no scripted touch event.

For some reason, if there is a state change out of a touch event in a script, the server/script acts as if touch is still enabled on the object, yet the new state doesn't have a touch event set..ergo, grab.

In the end, it's probably a fix on both sides. Grab is handled in a weird way, really.


BlckCobra Shikami added a comment - 17/Jan/09 04:17 AM
Easy repro on
Second Life 1.21.6 (99587) Oct 14 2008 17:42:25 (Second Life Release)
Second Life Server 1.24.10.106829
  • Create an object
  • Add the below script
  • Click on the object with your mouse, hold the left mouse button pressed and move your mouse
  • Effect: object moves with the mouse cursor as if in edit mode
  • Expected behaviour: Object can't be moved

default
{
state_entry()

{ llSetText("default",<1,1,1>,1.0); }

touch_start(integer total_number)

{ state Test2; }

}

state Test2
{
state_entry()

{ llSetText("Test2",<1,1,1>,1.0); }

}

Effect is gone when you add a touch_start handler to state Test2

Adding a touch_start handler is not always a good thing to prevent this effect, thus I see this error as critical.


Gaius Goodliffe added a comment - 18/Jan/09 11:33 AM
Still happening. I swear for a while adding llSetStatus(STATUS_BLOCK_GRAB, TRUE) was preventing this, but lately I've been accidentally moving objects that aren't supposed to be moved right and left, so either the workaround has stopped working, or I was just getting lucky until recently and it never worked.