GNOME Bugzilla – Bug 704456
Synthesized crossing events don't have correct device position
Last modified: 2014-01-27 13:30: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.
Created attachment 249488 [details] [review] widget: emit synthesized crossing event with correct device position
Carlos, can you review this ?
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 on attachment 249488 [details] [review] widget: emit synthesized crossing event with correct device position Pushed to master.