xserver/dix
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
..
atom.c Constify atom name strings 2009-02-03 10:06:00 -08:00
buildatoms XFree86 4.3.0.1 2003-11-14 16:49:22 +00:00
BuiltInAtoms R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
colormap.c dix: Fix up colormap fixup. 2009-10-23 13:24:49 +10:00
cursor.c dix: Fixes a memory leak when a cursor resource is released. 2009-11-06 14:27:02 +10:00
deprecated.c dix: remove dixLookupResource - we don't have any users left. 2009-09-07 10:51:16 +10:00
devices.c dix: try to ring the bell even if the current device doesn't have one. (#24503) 2010-02-25 11:49:59 +10:00
dispatch.c Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
dispatch.h Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
dixfonts.c dix: Fix potential memory corruption in doListFontsWithInfo. 2009-10-02 16:19:41 +10:00
dixutils.c Fix most remaining deprecated resource lookups. 2009-04-29 01:04:37 -04:00
enterleave.c dix: call SetFocusOut and LeaveWindow when disabling a device. 2009-08-03 10:11:48 +10:00
enterleave.h dix: call SetFocusOut and LeaveWindow when disabling a device. 2009-08-03 10:11:48 +10:00
eventconvert.c dix: EventToCore needs to copy the root window too. 2010-04-07 13:39:43 +10:00
events.c Revert "dix: use the event mask of the grab for TryClientEvents." 2010-11-11 12:50:20 +01:00
extension.c dix: be more verbose when we run out of opcodes 2010-04-09 09:47:01 +10:00
ffs.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
gc.c Replace dixLookupResource by dixLookupResourceBy{Type,Class} 2009-03-09 13:08:09 -07:00
getevents.c fix a sign problem with valuator data. 2010-11-11 12:38:06 +01:00
globals.c DPMS: Remove the defaultDPMS* variables 2009-04-03 18:22:20 -04:00
glyphcurs.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
grabs.c input: remove XI2 keysym grabs, use keycode grabs instead. 2009-07-22 12:12:51 +10:00
initatoms.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
inpututils.c Un-export ApplyPointerMapping. This is an in-server function. 2009-09-03 08:39:26 +10:00
main.c dix: Default DPMS timeout values to match screensaver values 2010-11-11 12:35:09 +01:00
Makefile.am dtrace: Add Xserver-dtrace.h to CLEANFILES 2009-12-24 07:54:41 -08:00
pixmap.c Remove a bunch of useless casts. 2009-01-22 02:11:16 -05:00
privates.c Remove a bunch of useless casts. 2009-01-22 02:11:16 -05:00
property.c dix: don't return BadMatch from GetProperty (#23562) 2009-09-03 14:19:35 +10:00
protocol.txt Add DRI2 requests to protocol.txt 2009-08-28 23:29:05 -04:00
ptrveloc.c Revert "Coverity Prevent: RESOURCE_LEAK in AccelSetProfileProperty:" 2009-07-17 06:34:00 +03:00
registry.c Correct outdated e-mail address in "Author" statements. 2009-09-02 17:56:52 -04:00
resource.c Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
selection.c xserver: Avoid sending uninitialized padding data over the network 2009-02-16 13:28:38 +10:00
swaprep.c dix: switch to byte-counting functions. 2009-07-14 10:05:54 +10:00
swapreq.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
tables.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
window.c dix: restore lastDeviceEventTime update in dixSaveScreens 2010-02-16 11:30:46 +10:00
Xserver-dtrace.h.in Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
Xserver.d Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00