Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
W
weston
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 273
    • Issues 273
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 114
    • Merge Requests 114
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • wayland
  • weston
  • Merge Requests
  • !408

Open
Opened Mar 30, 2020 by Michael Olbrich@molContributor
  • Report abuse
Report abuse

libweston: explicitly cancel start_drag if no matching input device is found

  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 1

Otherwise, the client will assume that dragging is in progress and remains in that state forever. This can happen when weston processes the mouse up event just before the start_drag() arrives.

Signed-off-by: Michael Olbrich m.olbrich@pengutronix.de

I'm not sure if this is the correct solution. The API doc says "the client must have an active implicit grab that matches the serial.". But the client cannot ensure this because weston can see a 'up' event (which breaks this requirement) before the start_drag() arrives. There is no hint what should happen in this case.

I tried to find a way to handle this in the client, but I found no real workable solution. The only indication seems to be the mouse event that arrives. And 'We got a mouse event after start_drag() so it failed' is not really a good solution.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: wayland/weston!408
Source branch: drag-race