~thopiekar/xorg-server/+git/xorg-xserver:server-1.6-enterleave

Last commit made on 2009-01-11
Get this branch:
git clone -b server-1.6-enterleave https://git.launchpad.net/~thopiekar/xorg-server/+git/xorg-xserver

Branch merges

Branch information

Name:
server-1.6-enterleave
Repository:
lp:~thopiekar/xorg-server/+git/xorg-xserver

Recent commits

02c059e... by Keith Packard

dix: move focus handling into enterleave.c.

This commit moves the focus handling from events.c into enterleave.c and
implements a model similar to the core enter/leave model.
For a full description of the model, see:
http://lists.freedesktop.org/archives/xorg/2008-December/041740.html

This commit also gets rid of the focusinout array in the WindowRec, ditching
it in favour of a local array that keeps the current focus window for each
device.

Signed-off-by: Peter Hutterer <email address hidden>
(cherry picked from commit eb2d7b3d700952ba88c77deacf687b251300e660)

Conflicts:

 dix/events.c
 include/input.h

Signed-off-by: Keith Packard <email address hidden>

c754457... by Peter Hutterer

dix: add a few auxiliary functions for the updated focus model.

SetFocusIn and SetFocusOut, including the static array to keep all focus
windows.

Signed-off-by: Peter Hutterer <email address hidden>
(cherry picked from commit 673eb23aac578dcdc04e2a99d1fa5c2987eb58b8)

ceeb62f... by Peter Hutterer

dix: reduce FirstPointerChild complexity

Instead of keeping a flag on each window for the devices that are in this
window, keep a local array that holds the current pointer window for each
device. Benefit: searching for the first descendant of a pointer is a simple
run through the array.

Signed-off-by: Peter Hutterer <email address hidden>
(cherry picked from commit 38b28dcadd0990cb43f50db4300eebb8f044db96)

ed90245... by Peter Hutterer

dix: remove now unused "exclude" parameter from FirstPointerChild

Signed-off-by: Peter Hutterer <email address hidden>
(cherry picked from commit 72ad4a85cc0ffe60a90011d65ef718d5852beae4)

f0025f5... by Keith Packard

dix: re-implement enter/leave model.

The old model was implemented based on a misunderstanding of NotifyVirtual and
NotifyNonlinearVirtual events. It became complicated and was broken in some
places [1]. This patch wipes this model completely.

A much simplified implementation is provided instead. Rather than a top-down
approach ("we have a tree of windows, which ones need to get which event")
this one uses a step-by-step approach. For each window W between A and B
determine the pointer window P as perceived by this window and determine the
event type based on this information. This is in-line with the model described
by Owen Taylor [2].

[1] http://lists.freedesktop.org/archives/xorg/2008-December/041559.html
[2] http://lists.freedesktop.org/archives/xorg/2008-August/037606.html
(cherry picked from commit 0aa4460c3b4f9bb17d5412d76fa8c4c501132429)

Conflicts:

 dix/enterleave.c

1ffd9ec... by Peter Hutterer

xfree86: don't restore the TTY mode if we didn't initialize it ourselves

Restoring it unconditionally means we restore to whatever tty_mode has as
default value (i.e. 0). K_RAW happens to be 0x00, so we always restore to raw
mode if allowEmptyInput is off.

Signed-off-by: Peter Hutterer <email address hidden>
Signed-off-by: Adam Jackson <email address hidden>
Signed-off-by: Julien Cristau <email address hidden>
(cherry picked from commit aea6f19f25e13768b1d09fac4991d6a5e6c2cdac)

3c11efd... by Peter Hutterer

xfree86: If an input device failed to activate, return immediately.

Devices are only activated once - right after they've been added to the
server. If a device failes activation, it's dead. There's no reason to
continue. Return the error code from ActivateDevice() without setting up
sprite information or even sending a event to the client.

Then - in the DDX - just remove the device again.

Signed-off-by: Peter Hutterer <email address hidden>
(cherry picked from commit 27011254c4de4e573a0851bf46892fb488db6522)

2ce4836... by Peter Hutterer

xfree86: don't call CheckMotion if a device hasn't been enabled. #19176

X.Org Bug <http://bugs.freedesktop.org/show_bug.cgi?id=19176>
(cherry picked from commit e1a3a1a0d85c9971aea65c2228b5fd4dbf3bf57a)

3225e13... by Maarten Maathuis

exa: preparing as source and finishing access as mask is a bad idea
(cherry picked from commit 027b440d4f9f0cdd46addff46fd2d5c44cd5c847)

2056c10... by Maarten Maathuis

exa: Allow drivers to set non-NULL devPrivate.ptr for !offscreen pixmaps.
(cherry picked from commit 3534a5e5d9c5af85149c799f324257f89507fa23)