Skip to content

GitLab

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

Merged
Opened Oct 02, 2019 by Olivier Fourdan@ofourdan🛠Developer

events: Sync pending pointer events without a window

  • Overview 4
  • Commits 1
  • Pipelines 6
  • Changes 1

Mutter issues a synchronous grab on the pointer for unfocused client windows to be able to catch the button events first and raise/focus client windows accordingly.

When there is a synchronous grab in effect, all events are queued until the grabbing client releases the event queue as it processes the events.

Mutter does release the events in its event handler function but does so only if it is able to find the window matching the event. If the window is a shell widget, that matching may fail and therefore Mutter will not release the events, hence causing a freeze in pointer events delivery.

To avoid the issue, make sure we sync the pointer events in case we can't find a matching window.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: GNOME/mutter!821
Source branch: allow-events