Find a file
Peter Hutterer 06fda4d3c8 Revert "dix: use the event mask of the grab for TryClientEvents."
Behaviour of earlier X servers was to deliver the ButtonPress event
unconditionally, regardless of the actual event mask being set. This is
documented in the protocol:
"This request establishes a passive grab.  In the future, the pointer is
actively grabbed as described in GrabPointer, the last-pointer-grab time is
set to the time at which the button was pressed (as transmitted in the
ButtonPress event), and the ButtonPress event is reported if all of the
following conditions are true:
    <list of conditions, event mask is not one of them>"

Thus, a GrabButton event will always deliver the button press event, a
GrabKey always the key press event, etc. Same goes for XI and XI2.

Reproducible with a simple client requesting a button grab in the form of:
    XGrabButton(dpy, AnyButton, AnyModifier, win, True, ButtonReleaseMask,
                GrabModeAsync, GrabModeAsync, None, None);

On servers before MPX/XI2, the client will receive a button press and
release event. On current servers, the client receives only the release.
Clients that expect the press event to be delivered unconditionally.

XTS Xlib13 XGrabButton 5/39 now passes.

This reverts commit 48585bd1e3.
Effectively reverts commit 1c612acca8 as well,
the code introduced with 1c612 is not needed anymore.

Conflicts:

	dix/events.c

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 1884db430a)
2010-11-11 12:50:20 +01:00
composite Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
config config: don't shutdown the libhal ctx if it failed to initialize (#23213) 2009-08-14 11:01:20 +10:00
damageext input: define server-supported protocol versions in one single file. 2009-09-21 21:47:35 +10:00
dbe dbe: Fix indentation 2009-07-17 14:57:50 -04:00
dix Revert "dix: use the event mask of the grab for TryClientEvents." 2010-11-11 12:50:20 +01:00
doc Xserver(1) man page updates 2010-08-21 14:10:01 -07:00
exa exa: fix ExaCheckCopyNtoN for exa_classic when source = dest 2010-06-17 15:21:09 +01:00
fb fb: make isClipped always reject negative coordinates (bug 11503) 2010-08-21 20:41:37 +01:00
glx Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 2010-09-08 18:42:57 +02:00
hw Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 2010-09-08 18:42:57 +02:00
include fix a sign problem with valuator data. 2010-11-11 12:38:06 +01:00
m4 dolt: add Cygwin to supported platforms 2009-10-19 11:18:58 +10:00
mi rootless: Add some sanity checking to miPaintWindow 2010-05-02 20:05:29 -07:00
miext rootless: Remove an unneeded comment 2010-05-02 20:05:23 -07:00
os os: Return BadLength instead of disconnecting BigReq clients (#4565) 2010-09-30 16:23:13 -07:00
randr Don't double-swap the RandR PropertyNotify event 2010-02-16 11:30:46 +10:00
record Re-enable RECORD extension. 2010-02-23 10:51:13 +10:00
render render: Bounds check for nglyphs in ProcRenderAddGlyphs (#28801) 2010-08-21 20:41:16 +01:00
test dix: EventToCore needs to copy the root window too. 2010-04-07 13:39:43 +10:00
Xext xace: Invalid reference to out-of-scope data. 2010-08-21 20:08:10 +01:00
xfixes Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
Xi Record: Avoid duplicates from replaying frozen events 2010-03-12 14:38:57 +10:00
xkb xkb: fix invalid memory writes in _XkbCopyGeom. 2010-07-05 15:53:27 +01:00
.gitignore Add (ok, fix) support for DTrace under OS X 2009-09-27 23:34:28 -07:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac xserver 1.7.7 2010-05-04 11:12:44 +10:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
cpprules.in Update xorg.conf man page & sample for changes in Xorg 1.7 2009-09-14 16:03:18 +10:00
Makefile.am Fix 'distcheck' to use host xkb files but install to build dir 2009-10-22 07:53:35 +10:00
shave-libtool.in shave: use CC tag variable on libtool 2009-09-13 16:43:42 +10:00
shave.in shave: hack around the configure ld check for make distcheck. 2009-09-04 16:41:47 +10:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-19 17:35:55 +13:00
xorg-server.pc.in Since font modules are dead, don't mention them in xorg-server.pc 2009-07-09 17:21:07 -04:00