Sway: Sway doesn't send wl_pointer.enter after switching back from a tty.

Created on 3 Dec 2018  路  3Comments  路  Source: swaywm/sway

  • Sway Version: sway version 1.0-beta.2 (Nov 30 2018, branch 'master')
  • Debug Log: sway.log
  • Configuration File: default
  • Wayland log: client.log

Start sway, start a Qt application (probably with others as well), switch to a tty, switch back, press mouse button.

So from client.log, this is is what seems to be happening:

  1. Sway reports capability keyboard only, which causes Qt to release the pointer object.
  2. Then capability with pointer is reported again, and Qt calls get_pointer
  3. wl_pointer.button is sent for the new pointer object without sending wl_pointer.enter first.
  4. Qt application crashes (https://bugreports.qt.io/browse/QTBUG-72235)
bug

Most helpful comment

We should rebase the cursor after updating capabilities.

We should also make sure wlroots sends enter on bind if necessary.

All 3 comments

We should rebase the cursor after updating capabilities.

We should also make sure wlroots sends enter on bind if necessary.

Current status on my system, with sway version 1.1-rc1-3-g9dca18b6 (May 7 2019, branch 'master'):

After switching back from a tty:

  • Qt applications are unresponsive to keyboard input until keyboard focus changes to another window and back
  • Qt applications are unresponsive to mouse input until mouse leaves and reenters window
  • GTK applications on wayland and all Xwayland applications (Qt, GTK, or other) don't exhibit this behaviour

Is this an issue with wlroots? Any pointers where one should look if attempting to fix it?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

StephenBrown2 picture StephenBrown2  路  4Comments

Olie440 picture Olie440  路  4Comments

aidanharris picture aidanharris  路  3Comments

cauebs picture cauebs  路  3Comments

ddevault picture ddevault  路  4Comments