mirror of
https://github.com/brl/mutter.git
synced 2025-02-26 01:34:09 +00:00

With client side windows, mixing GDK event delivery with explicit calls to XUngrabPointer() can result in GDK losing button release events it expects to get. This means that GDK thinks there is an implicit grab in effect when there is none and send events to the wrong window. Avoid this by bypassing GDK's event handling for most mouse events. We do a simplified conversion of the X event into a GdkEvent and send it to directly to libgtk for delivery. We make an exception when a GDK grab is already in effect - this is needed for the correct operation of menus. http://bugzilla.gnome.org/show_bug.cgi?id=599181