Skip to content

Trackpad scrolling when mouse is down on web throws an assertion #118051

@moffatman

Description

@moffatman
  1. Run any flutter app on web since Web trackpad pan engine#36346
  2. Start a one-finger drag on the trackpad
  3. Put a second finger on the trackpad to start scrolling
  4. If this is done fast enough, it will cause an assertion failure

See #117881 (comment) for log

The root cause is that the trackpad events are sent with the same device ID as mouse events (_mouseDeviceId = -1), so if a trackpad scroll begins when the pointer is down, a PointerMoveEvent might be synthesized if the location has changed (moving fast enough).

A different device ID should be used for trackpad events, this is what's been done on other platforms (_trackpadDeviceId = -2?).

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listengineflutter/engine related. See also e: labels.f: gesturesflutter/packages/flutter/gestures repository.f: scrollingViewports, list views, slivers, etc.found in release: 3.3Found to occur in 3.3found in release: 3.7Found to occur in 3.7frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-webWeb applications specificallyr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions