Skip to content

Navigation Menu

Sign in
Sign up

Pan runs away after a native HTML5 drag over the scene #11

Open

Description

Symptôme

En viewer readonly (EXPLORABLE_READONLY) embarqué dans un panneau dockview, après un drag & drop d'un onglet dockview (drag HTML5 natif) relâché au-dessus de la scène — y compris un drop annulé — la scène se met à panner toute seule : elle suit la souris sans aucun bouton enfoncé, jusqu'au prochain clic.

Cause

Les listeners mousedown/mousemove/mouseup sont posés sur window. Pendant un drag HTML5 natif, le navigateur avale les mouse events : si un mousedown a été vu par le composant avant le début du drag, le mouseup correspondant n'arrive jamais. _mouse.mousedown reste armé et chaque mousemove est interprété comme un pan en cours.

Le même trou existe pour tout mouseup relâché hors de la fenêtre.

Correctif proposé

Sur mousemove, si event.buttons === 0 alors que _mouse.mousedown est armé → réinitialiser l'état (traiter comme un mouseup). C'est la garde la plus robuste : elle couvre le drag HTML5 et le mouseup hors-fenêtre.

Repro

App tierce (0rchestria), panneau dockview 'Scène' contenant <lit-isoflow> readonly + un panneau terminal ; drag l'onglet du terminal au-dessus de la scène, relâcher n'importe où → bouger la souris → la scène panne seule.

Rapporté par une session embarquant lit-isoflow 1.1.0.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      AltStyle によって変換されたページ (->オリジナル) /