Find a file
Peter Hutterer ffbdba0319 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-14 02:09:53 -08:00
composite composite: initialise pOldPixmap to NullPixmap at alloc time. 2010-06-11 11:09:46 +10:00
config Move 10-evdev.conf to system config dir $datadir/X11/xorg.conf.d 2010-04-09 11:49:27 +10:00
damageext Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
dbe Fix pixmap validation in miDbePositionWindow. 2010-06-11 11:09:46 +10:00
dix Revert "dix: use the event mask of the grab for TryClientEvents." 2010-11-14 02:09:53 -08:00
doc Xserver(1) man page updates 2010-05-24 22:23:40 -07:00
exa exa: fix ExaCheckCopyNtoN for exa_classic when source = dest 2010-06-13 15:14:21 +10:00
fb fb: make isClipped always reject negative coordinates (bug 11503) 2010-09-04 11:39:21 -07:00
glx Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 2010-09-08 12:19:33 -07:00
hw Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 2010-09-08 12:19:33 -07:00
include fix a sign problem with valuator data. 2010-11-14 02:09:41 -08:00
m4 dolt: add Cygwin to supported platforms 2009-10-13 20:30:22 -07:00
mi midispcur: Construct Picture objects lazily in case Render is disabled. 2010-06-11 10:40:54 +10:00
miext rootless: Adjust the frame size of the native root window in RootlessResizeWindow 2010-07-19 22:31:20 -07:00
os os: Return BadLength instead of disconnecting BigReq clients (#4565) 2010-10-01 13:32:05 -07:00
randr Don't double-swap the RandR PropertyNotify event 2010-02-12 14:55:19 -08:00
record Re-enable RECORD extension. 2010-02-22 12:04:28 +10:00
render render: Bounds check for nglyphs in ProcRenderAddGlyphs (#28801) 2010-09-04 11:39:03 -07:00
test test/xi2: Initialize predefined atoms before XInputExtensionInit. 2010-05-18 14:44:58 +10:00
Xext xace: Invalid reference to out-of-scope data. 2010-09-04 11:38:54 -07:00
xfixes Make sure XFixes invisible cursor gets freed on server reset 2010-05-18 14:42:16 +10:00
Xi Xi: don't copy the modifier key count when copying device classes (#25480) 2010-06-11 12:49:14 +10:00
xkb xkb: fix invalid memory writes in _XkbCopyGeom. 2010-06-11 11:09:46 +10:00
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac xserver 1.8.2 2010-07-01 14:42:18 +10:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-16 17:11:35 -08:00
cpprules.in xfree86: Set a saner search path for xorg.conf.d 2010-04-09 11:49:26 +10:00
Makefile.am Fix relink targets for silent rules 2010-03-22 00:45:52 -05:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in xfree86: Search for a system xorg.conf.d 2010-04-09 11:49:27 +10:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage