After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 704456 - Synthesized crossing events don't have correct device position
Synthesized crossing events don't have correct device position
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
3.9.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2013-07-18 10:57 UTC by Lionel Landwerlin
Modified: 2014-01-27 13:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
widget: emit synthesized crossing event with correct device position (1.37 KB, patch)
2013-07-18 11:02 UTC, Lionel Landwerlin
committed Details | Review

Description Lionel Landwerlin 2013-07-18 10:57:14 UTC
While chasing a mutter problem that you can reproduce by :

1. right click on a window's title bar
2. move the cursor away from the opened menu by still on the window's title bar
3. without moving the cursor, do a left click

you get an incorrect cursor :

https://www.youtube.com/watch?v=5fUsaUsQl7c


I realized the synthesized crossing events don't have a correct device position.
Comment 1 Lionel Landwerlin 2013-07-18 11:02:12 UTC
Created attachment 249488 [details] [review]
widget: emit synthesized crossing event with correct device position
Comment 2 Matthias Clasen 2014-01-25 02:52:39 UTC
Carlos, can you review this ?
Comment 3 Carlos Garnacho 2014-01-27 12:44:53 UTC
Comment on attachment 249488 [details] [review]
widget: emit synthesized crossing event with correct device position

It's a bummer that we have to make separate calls to get root and window relative coordinates, that are going to result in two consecutive XIQueryPointer calls that might be folded into one.

But I don't think it is worth to make _gdk_device_query_state() public at this stage, even less for the sake of this, and the places where this is called shouldn't happen at high rates enough for sync-call hammering to be a concern.
Comment 4 Lionel Landwerlin 2014-01-27 13:30:04 UTC
Comment on attachment 249488 [details] [review]
widget: emit synthesized crossing event with correct device position

Pushed to master.