[JIRA] Updated: (SNOW-421) double-click teleport: don't interfere with click actions, and allow Cancel when tping between sims

Thickbrick Sleaford (JIRA) no-reply at lindenlab.cascadeo.com
Thu Jan 7 09:09:33 PST 2010

     [ http://jira.secondlife.com/browse/SNOW-421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thickbrick Sleaford updated SNOW-421:

    Attachment: SNOW-421_doubleclick_tp_tweaks_2.diff

> double-click teleport: don't interfere with click actions, and allow Cancel when tping between sims
> ---------------------------------------------------------------------------------------------------
>                 Key: SNOW-421
>                 URL: http://jira.secondlife.com/browse/SNOW-421
>             Project: 6. Second Life Snowglobe - SNOW
>          Issue Type: Bug
>          Components: User Interface
>    Affects Versions: Snowglobe 1.3
>            Reporter: Thickbrick Sleaford
>         Attachments: SNOW-421_doubleclick_tp_tweaks_2.diff
> This patch fixes these 3 issues with the double-click teleport feature, as implemented in SNOW-352
> # Double-click-tp interferes with touch-scripted objects (scripts may use double-click for user interaction.)
> # Interacting with an object that has click actions (sit, pay, etc.) can accidentally trigger a teleport if the user accidentally double-clicked (or was impatient and single-clicked too fast.)
> # Teleporting across a sim border doesn't show the teleport progress screen, so the user has no indication, and can't cancel if something went wrong. My simple fix for this also preserves look-at direction, which was getting lost before.
> Points 1 and 2 above are pretty straight forward, IMO, and contained in {{LLToolPie::handleDoubleClick}}.
> For point 3, the question is whether we want to hide the world when doing cross-sim teleport. 
> As far as I could determine, the look-at direction is lost on cross-sim teleports anyway. This is what I think happens:
> * When a sim-local teleport is finished, the sim sends a {{TeleportLocal}} message, which has a look-at information block. This case works.
> * When a cross-sim teleport is finished, the sim sends a {{TeleportFinish}} message, which *doesn't* have the look-at information, and eventually also a {{AgentMovemntComplete}} which *does* have look-at info.
> The problem is that the look-at info (as seen by {{process_agent_movement_complete}}) contains random-seeming data, which I'm guessing comes from a server bug.
> My patch does the following for this:
> * Remove the {{mbHideTeleport}} flag from {{LLAgent}}, and instead adds another flag: {{mbTeleportKeepsLookAt}}.
> * Remove changes to {{llviewerdisplay.cpp}}.
> * Prevent {{process_agent_movement_complete}} from stomping look-at when not wanted.
> * Add a check for same-sim teleports to {{LLAgent::TeleportRequest}} that results in {{gTeleportDisplay}} being set to false. This progress-hiding behaviour is pre-existing code, but was used only when teleporting in same sim, but sim was not seen by the map prior to teleport, because {{LLAgent::TeleportViaLocation}} is weird like that(!).
> * Make sure {{LLAgent::TeleportRequest}} is always used when doing doubleclick-tp by adding a new method {{LLAgent::TeleportViaLocationLookAt}} (again, because {{LLAgent::TeleportViaLocation}} is unpredictable.)

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://jira.secondlife.com/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the Jira-notify mailing list