summaryrefslogtreecommitdiff
path: root/xserver
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu.herrb@laas.fr>2013-02-24 15:45:52 +0100
committerMatthieu Herrb <matthieu.herrb@laas.fr>2013-02-24 15:49:36 +0100
commit3c7d5a1f6c188eed12275ff6884a6d8fd1669ffd (patch)
tree5b72ec229f01b3cccf52935a3c9eb7998addced6 /xserver
parentbf92adb413c678cf9583c52c3ba70eb470aa5164 (diff)
Merge server-1.13.3rc1 branch from X.Org.
up to e604b19fc54fee839bbe2d66930b36108ff03950
Diffstat (limited to 'xserver')
-rw-r--r--xserver/Makefile.in2
-rw-r--r--xserver/Xext/Makefile.in2
-rw-r--r--xserver/Xi/Makefile.in2
-rw-r--r--xserver/Xi/exevents.c93
-rw-r--r--xserver/Xi/xichangehierarchy.c9
-rw-r--r--xserver/aclocal.m46
-rw-r--r--xserver/composite/Makefile.in2
-rwxr-xr-xxserver/config.sub8
-rw-r--r--xserver/config/Makefile.in2
-rwxr-xr-xxserver/configure26
-rw-r--r--xserver/configure.ac6
-rw-r--r--xserver/damageext/Makefile.in2
-rw-r--r--xserver/dbe/Makefile.in2
-rw-r--r--xserver/dix/Makefile.in2
-rw-r--r--xserver/dix/devices.c6
-rw-r--r--xserver/dix/events.c43
-rw-r--r--xserver/dix/getevents.c61
-rw-r--r--xserver/dix/grabs.c5
-rw-r--r--xserver/dix/touch.c40
-rw-r--r--xserver/doc/Makefile.in2
-rw-r--r--xserver/doc/dtrace/Makefile.in2
-rw-r--r--xserver/exa/Makefile.in2
-rw-r--r--xserver/fb/Makefile.in2
-rw-r--r--xserver/glx/Makefile.in2
-rw-r--r--xserver/glx/glxdri2.c2
-rw-r--r--xserver/hw/Makefile.in2
-rw-r--r--xserver/hw/dmx/Makefile.in2
-rw-r--r--xserver/hw/dmx/config/Makefile.in2
-rw-r--r--xserver/hw/dmx/config/man/Makefile.in2
-rw-r--r--xserver/hw/dmx/config/xdmxconfig.c3
-rw-r--r--xserver/hw/dmx/doc/Makefile.in2
-rw-r--r--xserver/hw/dmx/doxygen/Makefile.in2
-rw-r--r--xserver/hw/dmx/examples/Makefile.in2
-rw-r--r--xserver/hw/dmx/glxProxy/Makefile.in2
-rw-r--r--xserver/hw/dmx/input/Makefile.in2
-rw-r--r--xserver/hw/dmx/man/Makefile.in2
-rw-r--r--xserver/hw/kdrive/Makefile.in2
-rw-r--r--xserver/hw/kdrive/ephyr/Makefile.in2
-rw-r--r--xserver/hw/kdrive/ephyr/man/Makefile.in2
-rw-r--r--xserver/hw/kdrive/fake/Makefile.in2
-rw-r--r--xserver/hw/kdrive/fbdev/Makefile.in2
-rw-r--r--xserver/hw/kdrive/linux/Makefile.in2
-rw-r--r--xserver/hw/kdrive/openbsd/Makefile.in2
-rw-r--r--xserver/hw/kdrive/src/Makefile.in2
-rw-r--r--xserver/hw/kdrive/wscons/Makefile.in2
-rw-r--r--xserver/hw/vfb/InitOutput.c19
-rw-r--r--xserver/hw/vfb/Makefile.in2
-rw-r--r--xserver/hw/vfb/man/Makefile.in2
-rw-r--r--xserver/hw/xfree86/Makefile.in2
-rw-r--r--xserver/hw/xfree86/common/Makefile.in2
-rw-r--r--xserver/hw/xfree86/common/xf86DGA.c10
-rw-r--r--xserver/hw/xfree86/common/xf86Events.c11
-rw-r--r--xserver/hw/xfree86/ddc/Makefile.in2
-rw-r--r--xserver/hw/xfree86/dixmods/Makefile.in2
-rw-r--r--xserver/hw/xfree86/doc/Makefile.in2
-rw-r--r--xserver/hw/xfree86/dri/Makefile.in2
-rw-r--r--xserver/hw/xfree86/dri2/Makefile.in2
-rw-r--r--xserver/hw/xfree86/exa/Makefile.in2
-rw-r--r--xserver/hw/xfree86/exa/man/Makefile.in2
-rw-r--r--xserver/hw/xfree86/fbdevhw/Makefile.in2
-rw-r--r--xserver/hw/xfree86/fbdevhw/man/Makefile.in2
-rw-r--r--xserver/hw/xfree86/i2c/Makefile.in2
-rw-r--r--xserver/hw/xfree86/int10/Makefile.in2
-rw-r--r--xserver/hw/xfree86/loader/Makefile.in2
-rw-r--r--xserver/hw/xfree86/man/Makefile.in2
-rw-r--r--xserver/hw/xfree86/modes/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/bsd/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/bus/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/hurd/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/linux/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/misc/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/solaris/Makefile.in2
-rw-r--r--xserver/hw/xfree86/os-support/stub/Makefile.in2
-rw-r--r--xserver/hw/xfree86/parser/Makefile.in2
-rw-r--r--xserver/hw/xfree86/ramdac/Makefile.in2
-rw-r--r--xserver/hw/xfree86/shadowfb/Makefile.in2
-rw-r--r--xserver/hw/xfree86/utils/Makefile.in2
-rw-r--r--xserver/hw/xfree86/utils/cvt/Makefile.in2
-rw-r--r--xserver/hw/xfree86/utils/gtf/Makefile.in2
-rw-r--r--xserver/hw/xfree86/utils/man/Makefile.in2
-rw-r--r--xserver/hw/xfree86/vbe/Makefile.in2
-rw-r--r--xserver/hw/xfree86/vgahw/Makefile.in2
-rw-r--r--xserver/hw/xfree86/x86emu/Makefile.in2
-rw-r--r--xserver/hw/xnest/Makefile.in2
-rw-r--r--xserver/hw/xnest/man/Makefile.in2
-rw-r--r--xserver/hw/xquartz/GL/Makefile.in2
-rw-r--r--xserver/hw/xquartz/GL/capabilities.c4
-rw-r--r--xserver/hw/xquartz/Makefile.in2
-rw-r--r--xserver/hw/xquartz/bundle/Makefile.in2
-rw-r--r--xserver/hw/xquartz/darwin.c16
-rw-r--r--xserver/hw/xquartz/mach-startup/Makefile.in2
-rw-r--r--xserver/hw/xquartz/man/Makefile.in2
-rw-r--r--xserver/hw/xquartz/pbproxy/Makefile.in2
-rw-r--r--xserver/hw/xquartz/xpr/Makefile.in2
-rw-r--r--xserver/hw/xquartz/xpr/dri.c6
-rw-r--r--xserver/hw/xquartz/xpr/xprFrame.c28
-rw-r--r--xserver/hw/xquartz/xpr/xprScreen.c5
-rw-r--r--xserver/hw/xwin/Makefile.in2
-rw-r--r--xserver/hw/xwin/glx/Makefile.in2
-rw-r--r--xserver/hw/xwin/man/Makefile.in2
-rw-r--r--xserver/include/Makefile.in2
-rw-r--r--xserver/include/input.h4
-rw-r--r--xserver/include/inputstr.h24
-rw-r--r--xserver/include/protocol-versions.h2
-rw-r--r--xserver/m4/xorg-tls.m42
-rw-r--r--xserver/man/Makefile.in2
-rw-r--r--xserver/mi/Makefile.in2
-rw-r--r--xserver/mi/mieq.c6
-rw-r--r--xserver/mi/miinitext.c9
-rw-r--r--xserver/miext/Makefile.in2
-rw-r--r--xserver/miext/damage/Makefile.in2
-rw-r--r--xserver/miext/rootless/Makefile.in2
-rw-r--r--xserver/miext/shadow/Makefile.in2
-rw-r--r--xserver/miext/sync/Makefile.in2
-rw-r--r--xserver/os/Makefile.in2
-rw-r--r--xserver/os/strndup.c4
-rw-r--r--xserver/randr/Makefile.in2
-rw-r--r--xserver/randr/randrstr.h2
-rw-r--r--xserver/randr/rrcrtc.c5
-rw-r--r--xserver/record/Makefile.in2
-rw-r--r--xserver/render/Makefile.in2
-rw-r--r--xserver/render/animcur.c3
-rw-r--r--xserver/test/Makefile.in2
-rw-r--r--xserver/test/xi2/Makefile.in2
-rw-r--r--xserver/xfixes/Makefile.in2
-rw-r--r--xserver/xfixes/xfixes.c2
-rw-r--r--xserver/xkb/Makefile.in2
-rw-r--r--xserver/xkb/xkbAccessX.c30
-rw-r--r--xserver/xkb/xkbUtils.c10
130 files changed, 423 insertions, 279 deletions
diff --git a/xserver/Makefile.in b/xserver/Makefile.in
index f3854368f..b56c9dce7 100644
--- a/xserver/Makefile.in
+++ b/xserver/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/Xext/Makefile.in b/xserver/Xext/Makefile.in
index 64948be98..b5c0c5833 100644
--- a/xserver/Xext/Makefile.in
+++ b/xserver/Xext/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/Xi/Makefile.in b/xserver/Xi/Makefile.in
index d5e782e02..ae608dc30 100644
--- a/xserver/Xi/Makefile.in
+++ b/xserver/Xi/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/Xi/exevents.c b/xserver/Xi/exevents.c
index 106da3a1b..20038a635 100644
--- a/xserver/Xi/exevents.c
+++ b/xserver/Xi/exevents.c
@@ -1197,7 +1197,6 @@ TouchRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, XID resource,
TouchOwnershipEvent *ev)
{
Bool was_owner = (resource == ti->listeners[0].listener);
- void *grab;
int i;
/* Send a TouchEnd event to the resource being removed, but only if they
@@ -1212,11 +1211,7 @@ TouchRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, XID resource,
/* Remove the resource from the listener list, updating
* ti->num_listeners, as well as ti->num_grabs if it was a grab. */
- if (TouchRemoveListener(ti, resource)) {
- if (dixLookupResourceByType(&grab, resource, RT_PASSIVEGRAB,
- serverClient, DixGetAttrAccess) == Success)
- ti->num_grabs--;
- }
+ TouchRemoveListener(ti, resource);
/* If the current owner was removed and there are further listeners, deliver
* the TouchOwnership or TouchBegin event to the new owner. */
@@ -1310,34 +1305,19 @@ RetrieveTouchDeliveryData(DeviceIntPtr dev, TouchPointInfoPtr ti,
if (listener->type == LISTENER_GRAB ||
listener->type == LISTENER_POINTER_GRAB) {
- rc = dixLookupResourceByType((pointer *) grab, listener->listener,
- RT_PASSIVEGRAB,
- serverClient, DixSendAccess);
- if (rc != Success) {
- /* the grab doesn't exist but we have a grabbing listener - this
- * is an implicit/active grab */
- rc = dixLookupClient(client, listener->listener, serverClient,
- DixSendAccess);
- if (rc != Success)
- return FALSE;
-
- *grab = dev->deviceGrab.grab;
- if (!*grab)
- return FALSE;
- }
+
+ *grab = listener->grab;
+
+ BUG_RETURN_VAL(!*grab, FALSE);
*client = rClient(*grab);
*win = (*grab)->window;
*mask = (*grab)->xi2mask;
}
else {
- if (listener->level == CORE)
- rc = dixLookupWindow(win, listener->listener,
- serverClient, DixSendAccess);
- else
- rc = dixLookupResourceByType((pointer *) win, listener->listener,
- RT_INPUTCLIENT,
- serverClient, DixSendAccess);
+ rc = dixLookupResourceByType((pointer *) win, listener->listener,
+ listener->resource_type,
+ serverClient, DixSendAccess);
if (rc != Success)
return FALSE;
@@ -1477,6 +1457,8 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
*/
l = &ti->listeners[ti->num_listeners - 1];
l->listener = devgrab->resource;
+ l->grab = devgrab;
+ //l->resource_type = RT_NONE;
if (devgrab->grabtype != XI2 || devgrab->type != XI_TouchBegin)
l->type = LISTENER_POINTER_GRAB;
@@ -1576,32 +1558,41 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev)
else
ti = TouchFindByClientID(dev, touchid);
- /* Under the following circumstances we create a new touch record for an
- * existing touch:
- *
- * - The touch may be pointer emulated
- * - An explicit grab is active on the device
- * - The grab is a pointer grab
- *
- * This allows for an explicit grab to receive pointer events for an already
- * active touch.
- */
- if (!ti && type != ET_TouchBegin && emulate_pointer &&
- dev->deviceGrab.grab && !dev->deviceGrab.fromPassiveGrab &&
+ /* Active pointer grab */
+ if (emulate_pointer && dev->deviceGrab.grab && !dev->deviceGrab.fromPassiveGrab &&
(dev->deviceGrab.grab->grabtype == CORE ||
dev->deviceGrab.grab->grabtype == XI ||
- !xi2mask_isset(dev->deviceGrab.grab->xi2mask, dev, XI_TouchBegin))) {
- ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid,
- emulate_pointer);
- if (!ti) {
- DebugF("[Xi] %s: Failed to create new dix record for explicitly "
- "grabbed touchpoint %d\n",
- dev->name, type, touchid);
- return;
- }
+ !xi2mask_isset(dev->deviceGrab.grab->xi2mask, dev, XI_TouchBegin)))
+ {
+ /* Active pointer grab on touch point and we get a TouchEnd - claim this
+ * touchpoint accepted, otherwise clients waiting for ownership will
+ * wait on this touchpoint until this client ungrabs, or the cows come
+ * home, whichever is earlier */
+ if (ti && type == ET_TouchEnd)
+ TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch);
+ else if (!ti && type != ET_TouchBegin) {
+ /* Under the following circumstances we create a new touch record for an
+ * existing touch:
+ *
+ * - The touch may be pointer emulated
+ * - An explicit grab is active on the device
+ * - The grab is a pointer grab
+ *
+ * This allows for an explicit grab to receive pointer events for an already
+ * active touch.
+ */
+ ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid,
+ emulate_pointer);
+ if (!ti) {
+ DebugF("[Xi] %s: Failed to create new dix record for explicitly "
+ "grabbed touchpoint %d\n",
+ dev->name, touchid);
+ return;
+ }
- TouchBuildSprite(dev, ti, ev);
- TouchSetupListeners(dev, ti, ev);
+ TouchBuildSprite(dev, ti, ev);
+ TouchSetupListeners(dev, ti, ev);
+ }
}
if (!ti) {
diff --git a/xserver/Xi/xichangehierarchy.c b/xserver/Xi/xichangehierarchy.c
index 89f16d8be..4dc3d76e9 100644
--- a/xserver/Xi/xichangehierarchy.c
+++ b/xserver/Xi/xichangehierarchy.c
@@ -304,15 +304,16 @@ remove_master(ClientPtr client, xXIRemoveMasterInfo * r, int flags[MAXDEVICES])
flags[keybd->id] |= XIDeviceDisabled;
flags[ptr->id] |= XIDeviceDisabled;
- RemoveDevice(XTestptr, FALSE);
- RemoveDevice(XTestkeybd, FALSE);
- RemoveDevice(keybd, FALSE);
- RemoveDevice(ptr, FALSE);
flags[XTestptr->id] |= XISlaveRemoved;
flags[XTestkeybd->id] |= XISlaveRemoved;
flags[keybd->id] |= XIMasterRemoved;
flags[ptr->id] |= XIMasterRemoved;
+ RemoveDevice(XTestptr, FALSE);
+ RemoveDevice(XTestkeybd, FALSE);
+ RemoveDevice(keybd, FALSE);
+ RemoveDevice(ptr, FALSE);
+
unwind:
return rc;
}
diff --git a/xserver/aclocal.m4 b/xserver/aclocal.m4
index c2732a40e..7fbf0483b 100644
--- a/xserver/aclocal.m4
+++ b/xserver/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.12.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.12.6 -*- Autoconf -*-
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
@@ -192,7 +192,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.12'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.5], [],
+m4_if([$1], [1.12.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -208,7 +208,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.5])dnl
+[AM_AUTOMAKE_VERSION([1.12.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/xserver/composite/Makefile.in b/xserver/composite/Makefile.in
index 3892eef73..193dcd4c9 100644
--- a/xserver/composite/Makefile.in
+++ b/xserver/composite/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/config.sub b/xserver/config.sub
index 89b128630..8df551109 100755
--- a/xserver/config.sub
+++ b/xserver/config.sub
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2012-10-10'
+timestamp='2012-12-06'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -1026,7 +1026,11 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
diff --git a/xserver/config/Makefile.in b/xserver/config/Makefile.in
index a5dd4646c..bd4c496da 100644
--- a/xserver/config/Makefile.in
+++ b/xserver/config/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/configure b/xserver/configure
index ed113340d..313745441 100755
--- a/xserver/configure
+++ b/xserver/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xorg-server 1.13.1.
+# Generated by GNU Autoconf 2.69 for xorg-server 1.13.2.901.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -641,8 +641,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xorg-server'
PACKAGE_TARNAME='xorg-server'
-PACKAGE_VERSION='1.13.1'
-PACKAGE_STRING='xorg-server 1.13.1'
+PACKAGE_VERSION='1.13.2.901'
+PACKAGE_STRING='xorg-server 1.13.2.901'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL=''
@@ -1958,7 +1958,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xorg-server 1.13.1 to adapt to many kinds of systems.
+\`configure' configures xorg-server 1.13.2.901 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2028,7 +2028,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorg-server 1.13.1:";;
+ short | recursive ) echo "Configuration of xorg-server 1.13.2.901:";;
esac
cat <<\_ACEOF
@@ -2418,7 +2418,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorg-server configure 1.13.1
+xorg-server configure 1.13.2.901
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3127,7 +3127,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xorg-server $as_me 1.13.1, which was
+It was created by xorg-server $as_me 1.13.2.901, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3475,8 +3475,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-RELEASE_DATE="2012-12-13"
-RELEASE_NAME="Chrysanthemum Tea"
+RELEASE_DATE="2013-02-15"
+RELEASE_NAME="1.13.3-rc1"
am__api_version='1.12'
@@ -3954,7 +3954,7 @@ fi
# Define the identity of the package.
PACKAGE='xorg-server'
- VERSION='1.13.1'
+ VERSION='1.13.2.901'
cat >>confdefs.h <<_ACEOF
@@ -15389,7 +15389,7 @@ main ()
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_tls=$kw
+ ac_cv_tls=$kw ; break ;
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
@@ -23665,7 +23665,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xorg-server $as_me 1.13.1, which was
+This file was extended by xorg-server $as_me 1.13.2.901, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23731,7 +23731,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xorg-server config.status 1.13.1
+xorg-server config.status 1.13.2.901
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/xserver/configure.ac b/xserver/configure.ac
index a60b9d68f..7459cd1af 100644
--- a/xserver/configure.ac
+++ b/xserver/configure.ac
@@ -26,9 +26,9 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.13.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2012-12-13"
-RELEASE_NAME="Chrysanthemum Tea"
+AC_INIT([xorg-server], 1.13.2.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-02-15"
+RELEASE_NAME="1.13.3-rc1"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/xserver/damageext/Makefile.in b/xserver/damageext/Makefile.in
index 407cb0dc5..29264ca45 100644
--- a/xserver/damageext/Makefile.in
+++ b/xserver/damageext/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/dbe/Makefile.in b/xserver/dbe/Makefile.in
index 082f274b1..f9ba66a22 100644
--- a/xserver/dbe/Makefile.in
+++ b/xserver/dbe/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/dix/Makefile.in b/xserver/dix/Makefile.in
index aced4e39b..36de7862c 100644
--- a/xserver/dix/Makefile.in
+++ b/xserver/dix/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/dix/devices.c b/xserver/dix/devices.c
index fd4916a3a..7d7888ea1 100644
--- a/xserver/dix/devices.c
+++ b/xserver/dix/devices.c
@@ -514,6 +514,12 @@ DisableAllDevices(void)
{
DeviceIntPtr dev, tmp;
+ /* Disable slave devices first, excluding XTest devices */
+ nt_list_for_each_entry_safe(dev, tmp, inputInfo.devices, next) {
+ if (!IsXTestDevice(dev, NULL) && !IsMaster(dev))
+ DisableDevice(dev, FALSE);
+ }
+ /* Disable XTest devices */
nt_list_for_each_entry_safe(dev, tmp, inputInfo.devices, next) {
if (!IsMaster(dev))
DisableDevice(dev, FALSE);
diff --git a/xserver/dix/events.c b/xserver/dix/events.c
index ddb5b343d..a43c99ac9 100644
--- a/xserver/dix/events.c
+++ b/xserver/dix/events.c
@@ -1435,6 +1435,7 @@ UpdateTouchesForGrab(DeviceIntPtr mouse)
ti->listeners[0].type = LISTENER_POINTER_GRAB;
else
ti->listeners[0].type = LISTENER_GRAB;
+ ti->listeners[0].grab = grab;
}
}
}
@@ -1503,11 +1504,27 @@ DeactivatePointerGrab(DeviceIntPtr mouse)
{
GrabPtr grab = mouse->deviceGrab.grab;
DeviceIntPtr dev;
+ Bool wasPassive = mouse->deviceGrab.fromPassiveGrab;
Bool wasImplicit = (mouse->deviceGrab.fromPassiveGrab &&
mouse->deviceGrab.implicitGrab);
XID grab_resource = grab->resource;
int i;
+ /* If an explicit grab was deactivated, we must remove it from the head of
+ * all the touches' listener lists. */
+ for (i = 0; !wasPassive && mouse->touch && i < mouse->touch->num_touches; i++) {
+ TouchPointInfoPtr ti = mouse->touch->touches + i;
+ if (ti->active && TouchResourceIsOwner(ti, grab_resource)) {
+ /* Rejecting will generate a TouchEnd, but we must not
+ emulate a ButtonRelease here. So pretend the listener
+ already has the end event */
+ if (grab->grabtype == CORE || grab->grabtype == XI ||
+ !xi2mask_isset(mouse->deviceGrab.grab->xi2mask, mouse, XI_TouchBegin))
+ ti->listeners[0].state = LISTENER_HAS_END;
+ TouchListenerAcceptReject(mouse, ti, 0, XIRejectTouch);
+ }
+ }
+
TouchRemovePointerGrab(mouse);
mouse->valuator->motionHintWindow = NullWindow;
@@ -1531,15 +1548,6 @@ DeactivatePointerGrab(DeviceIntPtr mouse)
ReattachToOldMaster(mouse);
ComputeFreezes();
-
- /* If an explicit grab was deactivated, we must remove it from the head of
- * all the touches' listener lists. */
- for (i = 0; mouse->touch && i < mouse->touch->num_touches; i++) {
- TouchPointInfoPtr ti = mouse->touch->touches + i;
-
- if (ti->active && TouchResourceIsOwner(ti, grab_resource))
- TouchListenerAcceptReject(mouse, ti, 0, XIRejectTouch);
- }
}
/**
@@ -2224,7 +2232,7 @@ DeliverEventsToWindow(DeviceIntPtr pDev, WindowPtr pWin, xEvent
* @return TRUE if the event should be discarded, FALSE otherwise.
*/
static BOOL
-FilterRawEvents(const ClientPtr client, const GrabPtr grab)
+FilterRawEvents(const ClientPtr client, const GrabPtr grab, WindowPtr root)
{
XIClientPtr client_xi_version;
int cmp;
@@ -2240,7 +2248,10 @@ FilterRawEvents(const ClientPtr client, const GrabPtr grab)
client_xi_version->minor_version, 2, 0);
/* XI 2.0: if device is grabbed, skip
XI 2.1: if device is grabbed by us, skip, we've already delivered */
- return (cmp == 0) ? TRUE : SameClient(grab, client);
+ if (cmp == 0)
+ return TRUE;
+
+ return (grab->window != root) ? FALSE : SameClient(grab, client);
}
/**
@@ -2293,7 +2304,7 @@ DeliverRawEvent(RawDeviceEvent *ev, DeviceIntPtr device)
*/
ic.next = NULL;
- if (!FilterRawEvents(rClient(&ic), grab))
+ if (!FilterRawEvents(rClient(&ic), grab, root))
DeliverEventToInputClients(device, &ic, root, xi, 1,
filter, NULL, &c, &m);
}
@@ -4550,6 +4561,7 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse,
{
GrabPtr grab = mouse->deviceGrab.grab;
xXIEnterEvent *event;
+ WindowPtr focus;
int filter;
int btlen, len, i;
DeviceIntPtr kbd;
@@ -4591,6 +4603,11 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse,
event->group.locked_group = kbd->key->xkbInfo->state.locked_group;
}
+ focus = (kbd) ? kbd->focus->win : None;
+ if ((focus != NoneWin) &&
+ ((pWin == focus) || (focus == PointerRootWin) || IsParent(focus, pWin)))
+ event->focus = TRUE;
+
FixUpEventFromWindow(mouse->spriteInfo->sprite, (xEvent *) event, pWin,
None, FALSE);
@@ -5027,7 +5044,7 @@ GrabDevice(ClientPtr client, DeviceIntPtr dev,
grab = grabInfo->grab;
if (grab && grab->grabtype != grabtype)
*status = AlreadyGrabbed;
- if (grab && !SameClient(grab, client))
+ else if (grab && !SameClient(grab, client))
*status = AlreadyGrabbed;
else if ((!pWin->realized) ||
(confineTo &&
diff --git a/xserver/dix/getevents.c b/xserver/dix/getevents.c
index 8b4379d1c..707678352 100644
--- a/xserver/dix/getevents.c
+++ b/xserver/dix/getevents.c
@@ -787,11 +787,33 @@ add_to_scroll_valuator(DeviceIntPtr dev, ValuatorMask *mask, int valuator, doubl
* @param[in,out] mask Valuator data for this event, modified in-place.
*/
static void
-moveRelative(DeviceIntPtr dev, ValuatorMask *mask)
+moveRelative(DeviceIntPtr dev, int flags, ValuatorMask *mask)
{
int i;
Bool clip_xy = IsMaster(dev) || !IsFloating(dev);
+ /* for abs devices in relative mode, we've just scaled wrong, since we
+ mapped the device's shape into the screen shape. Undo this. */
+ if ((flags & POINTER_ABSOLUTE) == 0 && dev->valuator &&
+ dev->valuator->axes[0].min_value < dev->valuator->axes[0].max_value) {
+
+ double ratio = 1.0 * screenInfo.width/screenInfo.height;
+
+ if (ratio > 1.0) {
+ double y;
+ if (valuator_mask_fetch_double(mask, 1, &y)) {
+ y *= ratio;
+ valuator_mask_set_double(mask, 1, y);
+ }
+ } else {
+ double x;
+ if (valuator_mask_fetch_double(mask, 0, &x)) {
+ x *= ratio;
+ valuator_mask_set_double(mask, 0, x);
+ }
+ }
+ }
+
/* calc other axes, clip, drop back into valuators */
for (i = 0; i < valuator_mask_size(mask); i++) {
double val = dev->last.valuators[i];
@@ -844,14 +866,14 @@ scale_from_screen(DeviceIntPtr dev, ValuatorMask *mask)
scaled = valuator_mask_get_double(mask, 0) + scr->x;
scaled = rescaleValuatorAxis(scaled,
NULL, dev->valuator->axes + 0,
- 0, scr->width);
+ screenInfo.x, screenInfo.width);
valuator_mask_set_double(mask, 0, scaled);
}
if (valuator_mask_isset(mask, 1)) {
scaled = valuator_mask_get_double(mask, 1) + scr->y;
scaled = rescaleValuatorAxis(scaled,
NULL, dev->valuator->axes + 1,
- 0, scr->height);
+ screenInfo.y, screenInfo.height);
valuator_mask_set_double(mask, 1, scaled);
}
}
@@ -1387,7 +1409,7 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
if ((flags & POINTER_NORAW) == 0)
set_raw_valuators(raw, &mask, raw->valuators.data);
- moveRelative(pDev, &mask);
+ moveRelative(pDev, flags, &mask);
}
/* valuators are in device coordinate system in absolute coordinates */
@@ -1951,32 +1973,27 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
default:
return 0;
}
- if (t->mode == XIDirectTouch && !(flags & TOUCH_CLIENT_ID)) {
- if (!valuator_mask_isset(&mask, 0))
- valuator_mask_set_double(&mask, 0,
- valuator_mask_get_double(touchpoint.ti->
- valuators, 0));
- if (!valuator_mask_isset(&mask, 1))
- valuator_mask_set_double(&mask, 1,
- valuator_mask_get_double(touchpoint.ti->
- valuators, 1));
- }
/* Get our screen event co-ordinates (root_x/root_y/event_x/event_y):
* these come from the touchpoint in Absolute mode, or the sprite in
* Relative. */
if (t->mode == XIDirectTouch) {
- transformAbsolute(dev, &mask);
-
if (!(flags & TOUCH_CLIENT_ID)) {
- for (i = 0; i < valuator_mask_size(&mask); i++) {
- double val;
-
- if (valuator_mask_fetch_double(&mask, i, &val))
- valuator_mask_set_double(touchpoint.ti->valuators, i, val);
- }
+ for (i = 0; i < max(valuator_mask_size(&mask), 2); i++) {
+ double val;
+
+ if (valuator_mask_fetch_double(&mask, i, &val))
+ valuator_mask_set_double(touchpoint.ti->valuators, i, val);
+ /* If the device doesn't post new X and Y axis values,
+ * use the last values posted.
+ */
+ else if (i < 2 &&
+ valuator_mask_fetch_double(touchpoint.ti->valuators, i, &val))
+ valuator_mask_set_double(&mask, i, val);
+ }
}
+ transformAbsolute(dev, &mask);
clipAbsolute(dev, &mask);
}
else {
diff --git a/xserver/dix/grabs.c b/xserver/dix/grabs.c
index 55bf64f2c..d55a69cf0 100644
--- a/xserver/dix/grabs.c
+++ b/xserver/dix/grabs.c
@@ -219,7 +219,10 @@ CreateGrab(int client, DeviceIntPtr device, DeviceIntPtr modDevice,
grab->resource = FakeClientID(client);
grab->device = device;
grab->window = window;
- grab->eventMask = mask->core; /* same for XI */
+ if (grabtype == CORE || grabtype == XI)
+ grab->eventMask = mask->core; /* same for XI */
+ else
+ grab->eventMask = 0;
grab->deviceMask = 0;
grab->ownerEvents = param->ownerEvents;
grab->keyboardMode = param->this_device_mode;
diff --git a/xserver/dix/touch.c b/xserver/dix/touch.c
index 5f77be575..2b30b7df0 100644
--- a/xserver/dix/touch.c
+++ b/xserver/dix/touch.c
@@ -682,15 +682,20 @@ TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource)
* Add the resource to this touch's listeners.
*/
void
-TouchAddListener(TouchPointInfoPtr ti, XID resource, enum InputLevel level,
- enum TouchListenerType type, enum TouchListenerState state,
- WindowPtr window)
+TouchAddListener(TouchPointInfoPtr ti, XID resource, int resource_type,
+ enum InputLevel level, enum TouchListenerType type,
+ enum TouchListenerState state, WindowPtr window,
+ GrabPtr grab)
{
ti->listeners[ti->num_listeners].listener = resource;
+ ti->listeners[ti->num_listeners].resource_type = resource_type;
ti->listeners[ti->num_listeners].level = level;
ti->listeners[ti->num_listeners].state = state;
ti->listeners[ti->num_listeners].type = type;
ti->listeners[ti->num_listeners].window = window;
+ ti->listeners[ti->num_listeners].grab = grab;
+ if (grab)
+ ti->num_grabs++;
ti->num_listeners++;
}
@@ -709,6 +714,11 @@ TouchRemoveListener(TouchPointInfoPtr ti, XID resource)
if (ti->listeners[i].listener == resource) {
int j;
+ if (ti->listeners[i].grab) {
+ ti->listeners[i].grab = NULL;
+ ti->num_grabs--;
+ }
+
for (j = i; j < ti->num_listeners - 1; j++)
ti->listeners[j] = ti->listeners[j + 1];
ti->num_listeners--;
@@ -739,9 +749,9 @@ TouchAddGrabListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
type = LISTENER_POINTER_GRAB;
}
- TouchAddListener(ti, grab->resource, grab->grabtype,
- type, LISTENER_AWAITING_BEGIN, grab->window);
- ti->num_grabs++;
+ /* grab listeners are always RT_NONE since we keep the grab pointer */
+ TouchAddListener(ti, grab->resource, RT_NONE, grab->grabtype,
+ type, LISTENER_AWAITING_BEGIN, grab->window, grab);
}
/**
@@ -796,8 +806,8 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
if (!xi2mask_isset(iclients->xi2mask, dev, XI_TouchOwnership))
TouchEventHistoryAllocate(ti);
- TouchAddListener(ti, iclients->resource, XI2,
- type, LISTENER_AWAITING_BEGIN, win);
+ TouchAddListener(ti, iclients->resource, RT_INPUTCLIENT, XI2,
+ type, LISTENER_AWAITING_BEGIN, win, NULL);
return TRUE;
}
}
@@ -811,9 +821,9 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
continue;
TouchEventHistoryAllocate(ti);
- TouchAddListener(ti, iclients->resource, XI,
+ TouchAddListener(ti, iclients->resource, RT_INPUTCLIENT, XI,
LISTENER_POINTER_REGULAR, LISTENER_AWAITING_BEGIN,
- win);
+ win, NULL);
return TRUE;
}
}
@@ -826,9 +836,9 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
/* window owner */
if (IsMaster(dev) && (win->eventMask & core_filter)) {
TouchEventHistoryAllocate(ti);
- TouchAddListener(ti, win->drawable.id, CORE,
+ TouchAddListener(ti, win->drawable.id, RT_WINDOW, CORE,
LISTENER_POINTER_REGULAR, LISTENER_AWAITING_BEGIN,
- win);
+ win, NULL);
return TRUE;
}
@@ -838,8 +848,8 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
continue;
TouchEventHistoryAllocate(ti);
- TouchAddListener(ti, oclients->resource, CORE,
- type, LISTENER_AWAITING_BEGIN, win);
+ TouchAddListener(ti, oclients->resource, RT_OTHERCLIENT, CORE,
+ type, LISTENER_AWAITING_BEGIN, win, NULL);
return TRUE;
}
}
@@ -994,8 +1004,6 @@ TouchListenerAcceptReject(DeviceIntPtr dev, TouchPointInfoPtr ti, int listener,
for (i = 0; i < nev; i++)
mieqProcessDeviceEvent(dev, events + i, NULL);
- ProcessInputEvents();
-
FreeEventList(events, GetMaximumEventsNum());
return nev ? Success : BadMatch;
diff --git a/xserver/doc/Makefile.in b/xserver/doc/Makefile.in
index 2b2144220..1d60e98f2 100644
--- a/xserver/doc/Makefile.in
+++ b/xserver/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/doc/dtrace/Makefile.in b/xserver/doc/dtrace/Makefile.in
index 3eccdc647..094ee851a 100644
--- a/xserver/doc/dtrace/Makefile.in
+++ b/xserver/doc/dtrace/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/exa/Makefile.in b/xserver/exa/Makefile.in
index d2228d548..99a75cb7e 100644
--- a/xserver/exa/Makefile.in
+++ b/xserver/exa/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/fb/Makefile.in b/xserver/fb/Makefile.in
index 536dab7f9..da3226c9a 100644
--- a/xserver/fb/Makefile.in
+++ b/xserver/fb/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/glx/Makefile.in b/xserver/glx/Makefile.in
index fc4a1fe5f..c80f645ba 100644
--- a/xserver/glx/Makefile.in
+++ b/xserver/glx/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/glx/glxdri2.c b/xserver/glx/glxdri2.c
index bce1bfa4b..b26e501dc 100644
--- a/xserver/glx/glxdri2.c
+++ b/xserver/glx/glxdri2.c
@@ -514,7 +514,7 @@ create_driver_context(__GLXDRIcontext * context,
unsigned minor_ver;
uint32_t flags;
int reset;
- int api;
+ int api = __DRI_API_OPENGL;
if (num_attribs != 0) {
if (!dri2_convert_glx_attribs(screen, num_attribs, attribs,
diff --git a/xserver/hw/Makefile.in b/xserver/hw/Makefile.in
index 464c16682..76110c5ff 100644
--- a/xserver/hw/Makefile.in
+++ b/xserver/hw/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/Makefile.in b/xserver/hw/dmx/Makefile.in
index 8da4ff51c..7b62acb02 100644
--- a/xserver/hw/dmx/Makefile.in
+++ b/xserver/hw/dmx/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/config/Makefile.in b/xserver/hw/dmx/config/Makefile.in
index 021e48e4e..4c0a115a4 100644
--- a/xserver/hw/dmx/config/Makefile.in
+++ b/xserver/hw/dmx/config/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/config/man/Makefile.in b/xserver/hw/dmx/config/man/Makefile.in
index f7ea13452..717d6c59b 100644
--- a/xserver/hw/dmx/config/man/Makefile.in
+++ b/xserver/hw/dmx/config/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/config/xdmxconfig.c b/xserver/hw/dmx/config/xdmxconfig.c
index f30841244..2121dd781 100644
--- a/xserver/hw/dmx/config/xdmxconfig.c
+++ b/xserver/hw/dmx/config/xdmxconfig.c
@@ -31,9 +31,6 @@
*
*/
-#ifdef HAVE_DMX_CONFIG_H
-#include <dmx-config.h>
-#endif
#include <stdio.h>
#include <stdlib.h>
diff --git a/xserver/hw/dmx/doc/Makefile.in b/xserver/hw/dmx/doc/Makefile.in
index 824df58c5..e340da523 100644
--- a/xserver/hw/dmx/doc/Makefile.in
+++ b/xserver/hw/dmx/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/doxygen/Makefile.in b/xserver/hw/dmx/doxygen/Makefile.in
index 2ff5c5fe0..82a1bfd6e 100644
--- a/xserver/hw/dmx/doxygen/Makefile.in
+++ b/xserver/hw/dmx/doxygen/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/examples/Makefile.in b/xserver/hw/dmx/examples/Makefile.in
index ef431706f..998a64798 100644
--- a/xserver/hw/dmx/examples/Makefile.in
+++ b/xserver/hw/dmx/examples/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/glxProxy/Makefile.in b/xserver/hw/dmx/glxProxy/Makefile.in
index fbac713f8..bb3a3940a 100644
--- a/xserver/hw/dmx/glxProxy/Makefile.in
+++ b/xserver/hw/dmx/glxProxy/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/input/Makefile.in b/xserver/hw/dmx/input/Makefile.in
index e566e57e0..74e13e176 100644
--- a/xserver/hw/dmx/input/Makefile.in
+++ b/xserver/hw/dmx/input/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/dmx/man/Makefile.in b/xserver/hw/dmx/man/Makefile.in
index 8275b1a44..0ce4cffdd 100644
--- a/xserver/hw/dmx/man/Makefile.in
+++ b/xserver/hw/dmx/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/Makefile.in b/xserver/hw/kdrive/Makefile.in
index 6e3f21f91..43ca851c0 100644
--- a/xserver/hw/kdrive/Makefile.in
+++ b/xserver/hw/kdrive/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/ephyr/Makefile.in b/xserver/hw/kdrive/ephyr/Makefile.in
index ccaeaf5e2..5cdd6e6e6 100644
--- a/xserver/hw/kdrive/ephyr/Makefile.in
+++ b/xserver/hw/kdrive/ephyr/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/ephyr/man/Makefile.in b/xserver/hw/kdrive/ephyr/man/Makefile.in
index 1b041cd52..994c3cd06 100644
--- a/xserver/hw/kdrive/ephyr/man/Makefile.in
+++ b/xserver/hw/kdrive/ephyr/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/fake/Makefile.in b/xserver/hw/kdrive/fake/Makefile.in
index 411dae4a8..e45834d57 100644
--- a/xserver/hw/kdrive/fake/Makefile.in
+++ b/xserver/hw/kdrive/fake/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/fbdev/Makefile.in b/xserver/hw/kdrive/fbdev/Makefile.in
index abc838310..9ba4d9cc4 100644
--- a/xserver/hw/kdrive/fbdev/Makefile.in
+++ b/xserver/hw/kdrive/fbdev/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/linux/Makefile.in b/xserver/hw/kdrive/linux/Makefile.in
index 4780a0cef..7124a2ba1 100644
--- a/xserver/hw/kdrive/linux/Makefile.in
+++ b/xserver/hw/kdrive/linux/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/openbsd/Makefile.in b/xserver/hw/kdrive/openbsd/Makefile.in
index d009b1406..944d02740 100644
--- a/xserver/hw/kdrive/openbsd/Makefile.in
+++ b/xserver/hw/kdrive/openbsd/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/src/Makefile.in b/xserver/hw/kdrive/src/Makefile.in
index ee598bb45..1b65d0e94 100644
--- a/xserver/hw/kdrive/src/Makefile.in
+++ b/xserver/hw/kdrive/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/kdrive/wscons/Makefile.in b/xserver/hw/kdrive/wscons/Makefile.in
index de4ae3bea..dff971365 100644
--- a/xserver/hw/kdrive/wscons/Makefile.in
+++ b/xserver/hw/kdrive/wscons/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/vfb/InitOutput.c b/xserver/hw/vfb/InitOutput.c
index 955624f3d..5f20a1e0d 100644
--- a/xserver/hw/vfb/InitOutput.c
+++ b/xserver/hw/vfb/InitOutput.c
@@ -66,6 +66,7 @@ from The Open Group.
#endif /* HAS_SHM */
#include "dix.h"
#include "miline.h"
+#include "glx_extinit.h"
#define VFB_DEFAULT_WIDTH 1280
#define VFB_DEFAULT_HEIGHT 1024
@@ -885,12 +886,30 @@ vfbScreenInit(ScreenPtr pScreen, int argc, char **argv)
} /* end vfbScreenInit */
+static const ExtensionModule vfbExtensions[] = {
+#ifdef GLXEXT
+ { GlxExtensionInit, "GLX", &noGlxExtension },
+#endif
+};
+
+static
+void vfbExtensionInit(void)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(vfbExtensions); i++)
+ LoadExtension(&vfbExtensions[i], TRUE);
+}
+
void
InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
{
int i;
int NumFormats = 0;
+ if (serverGeneration == 1)
+ vfbExtensionInit();
+
/* initialize pixmap formats */
/* must have a pixmap depth to match every screen depth */
diff --git a/xserver/hw/vfb/Makefile.in b/xserver/hw/vfb/Makefile.in
index 6dfd24fbf..ee6cab120 100644
--- a/xserver/hw/vfb/Makefile.in
+++ b/xserver/hw/vfb/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/vfb/man/Makefile.in b/xserver/hw/vfb/man/Makefile.in
index dfa447059..5e23e2651 100644
--- a/xserver/hw/vfb/man/Makefile.in
+++ b/xserver/hw/vfb/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/Makefile.in b/xserver/hw/xfree86/Makefile.in
index 33b8899db..846f4d90f 100644
--- a/xserver/hw/xfree86/Makefile.in
+++ b/xserver/hw/xfree86/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/common/Makefile.in b/xserver/hw/xfree86/common/Makefile.in
index 203f05059..3540f6a08 100644
--- a/xserver/hw/xfree86/common/Makefile.in
+++ b/xserver/hw/xfree86/common/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/common/xf86DGA.c b/xserver/hw/xfree86/common/xf86DGA.c
index a441dee99..7f1a0c6ff 100644
--- a/xserver/hw/xfree86/common/xf86DGA.c
+++ b/xserver/hw/xfree86/common/xf86DGA.c
@@ -1033,6 +1033,9 @@ DGAProcessKeyboardEvent(ScreenPtr pScreen, DGAEvent * event, DeviceIntPtr keybd)
UpdateDeviceState(keybd, &ev);
+ if (!IsMaster(keybd))
+ return;
+
/*
* Deliver the DGA event
*/
@@ -1074,6 +1077,7 @@ DGAProcessPointerEvent(ScreenPtr pScreen, DGAEvent * event, DeviceIntPtr mouse)
DeviceEvent ev = {
.header = ET_Internal,
.length = sizeof(ev),
+ .detail.key = event->detail,
.type = event->subtype,
.corestate = butc ? butc->state : 0
};
@@ -1083,6 +1087,9 @@ DGAProcessPointerEvent(ScreenPtr pScreen, DGAEvent * event, DeviceIntPtr mouse)
UpdateDeviceState(mouse, &ev);
+ if (!IsMaster(mouse))
+ return;
+
/*
* Deliver the DGA event
*/
@@ -1190,9 +1197,6 @@ DGAHandleEvent(int screen_num, InternalEvent *ev, DeviceIntPtr device)
if (!pScreenPriv)
return;
- if (!IsMaster(device))
- return;
-
switch (event->subtype) {
case KeyPress:
case KeyRelease:
diff --git a/xserver/hw/xfree86/common/xf86Events.c b/xserver/hw/xfree86/common/xf86Events.c
index 3ad34b543..7e80fa922 100644
--- a/xserver/hw/xfree86/common/xf86Events.c
+++ b/xserver/hw/xfree86/common/xf86Events.c
@@ -180,6 +180,7 @@ xf86ProcessActionEvent(ActionEvent action, void *arg)
switch (action) {
case ACTION_TERMINATE:
if (!xf86Info.dontZap) {
+ xf86Msg(X_INFO, "Server zapped. Shutting down.\n");
#ifdef XFreeXDGA
DGAShutdown();
#endif
@@ -618,14 +619,16 @@ InputHandlerProc
xf86SetConsoleHandler(InputHandlerProc proc, pointer data)
{
static IHPtr handler = NULL;
- IHPtr old_handler = handler;
+ InputHandlerProc old_proc = NULL;
- if (old_handler)
- xf86RemoveGeneralHandler(old_handler);
+ if (handler) {
+ old_proc = handler->ihproc;
+ xf86RemoveGeneralHandler(handler);
+ }
handler = xf86AddGeneralHandler(xf86Info.consoleFd, proc, data);
- return (old_handler) ? old_handler->ihproc : NULL;
+ return old_proc;
}
static void
diff --git a/xserver/hw/xfree86/ddc/Makefile.in b/xserver/hw/xfree86/ddc/Makefile.in
index 582954c9d..e2262b409 100644
--- a/xserver/hw/xfree86/ddc/Makefile.in
+++ b/xserver/hw/xfree86/ddc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/dixmods/Makefile.in b/xserver/hw/xfree86/dixmods/Makefile.in
index d34af8a34..f382e40a9 100644
--- a/xserver/hw/xfree86/dixmods/Makefile.in
+++ b/xserver/hw/xfree86/dixmods/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/doc/Makefile.in b/xserver/hw/xfree86/doc/Makefile.in
index 1b3a9f53c..5f87d2d8c 100644
--- a/xserver/hw/xfree86/doc/Makefile.in
+++ b/xserver/hw/xfree86/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/dri/Makefile.in b/xserver/hw/xfree86/dri/Makefile.in
index d78e50c5d..37cfc696a 100644
--- a/xserver/hw/xfree86/dri/Makefile.in
+++ b/xserver/hw/xfree86/dri/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/dri2/Makefile.in b/xserver/hw/xfree86/dri2/Makefile.in
index bfeb6373b..9ba7879b7 100644
--- a/xserver/hw/xfree86/dri2/Makefile.in
+++ b/xserver/hw/xfree86/dri2/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/exa/Makefile.in b/xserver/hw/xfree86/exa/Makefile.in
index 1b701d460..c130a39a1 100644
--- a/xserver/hw/xfree86/exa/Makefile.in
+++ b/xserver/hw/xfree86/exa/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/exa/man/Makefile.in b/xserver/hw/xfree86/exa/man/Makefile.in
index 3e8daed07..6403353a7 100644
--- a/xserver/hw/xfree86/exa/man/Makefile.in
+++ b/xserver/hw/xfree86/exa/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/fbdevhw/Makefile.in b/xserver/hw/xfree86/fbdevhw/Makefile.in
index c5073d4dc..6169b9ecf 100644
--- a/xserver/hw/xfree86/fbdevhw/Makefile.in
+++ b/xserver/hw/xfree86/fbdevhw/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/fbdevhw/man/Makefile.in b/xserver/hw/xfree86/fbdevhw/man/Makefile.in
index 5b019188b..1b40364ad 100644
--- a/xserver/hw/xfree86/fbdevhw/man/Makefile.in
+++ b/xserver/hw/xfree86/fbdevhw/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/i2c/Makefile.in b/xserver/hw/xfree86/i2c/Makefile.in
index 306dae957..b9cc0d631 100644
--- a/xserver/hw/xfree86/i2c/Makefile.in
+++ b/xserver/hw/xfree86/i2c/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/int10/Makefile.in b/xserver/hw/xfree86/int10/Makefile.in
index 3ac4d5dc0..c6c5375fb 100644
--- a/xserver/hw/xfree86/int10/Makefile.in
+++ b/xserver/hw/xfree86/int10/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/loader/Makefile.in b/xserver/hw/xfree86/loader/Makefile.in
index 281a74605..09b3979ea 100644
--- a/xserver/hw/xfree86/loader/Makefile.in
+++ b/xserver/hw/xfree86/loader/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/man/Makefile.in b/xserver/hw/xfree86/man/Makefile.in
index ed3907c83..861e95a9e 100644
--- a/xserver/hw/xfree86/man/Makefile.in
+++ b/xserver/hw/xfree86/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/modes/Makefile.in b/xserver/hw/xfree86/modes/Makefile.in
index 6f66c4816..e01185442 100644
--- a/xserver/hw/xfree86/modes/Makefile.in
+++ b/xserver/hw/xfree86/modes/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/Makefile.in b/xserver/hw/xfree86/os-support/Makefile.in
index 3ab2bb73f..1a95f4538 100644
--- a/xserver/hw/xfree86/os-support/Makefile.in
+++ b/xserver/hw/xfree86/os-support/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/bsd/Makefile.in b/xserver/hw/xfree86/os-support/bsd/Makefile.in
index 7332cd7be..f6ee5227c 100644
--- a/xserver/hw/xfree86/os-support/bsd/Makefile.in
+++ b/xserver/hw/xfree86/os-support/bsd/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/bus/Makefile.in b/xserver/hw/xfree86/os-support/bus/Makefile.in
index e2dec99b1..fbd201ddf 100644
--- a/xserver/hw/xfree86/os-support/bus/Makefile.in
+++ b/xserver/hw/xfree86/os-support/bus/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/hurd/Makefile.in b/xserver/hw/xfree86/os-support/hurd/Makefile.in
index 3cc3db3e9..2623a01d3 100644
--- a/xserver/hw/xfree86/os-support/hurd/Makefile.in
+++ b/xserver/hw/xfree86/os-support/hurd/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/linux/Makefile.in b/xserver/hw/xfree86/os-support/linux/Makefile.in
index 00892bab4..4f4252eea 100644
--- a/xserver/hw/xfree86/os-support/linux/Makefile.in
+++ b/xserver/hw/xfree86/os-support/linux/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/misc/Makefile.in b/xserver/hw/xfree86/os-support/misc/Makefile.in
index da598e23a..c04b44c15 100644
--- a/xserver/hw/xfree86/os-support/misc/Makefile.in
+++ b/xserver/hw/xfree86/os-support/misc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/solaris/Makefile.in b/xserver/hw/xfree86/os-support/solaris/Makefile.in
index 4189fbc43..23e8c518e 100644
--- a/xserver/hw/xfree86/os-support/solaris/Makefile.in
+++ b/xserver/hw/xfree86/os-support/solaris/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/os-support/stub/Makefile.in b/xserver/hw/xfree86/os-support/stub/Makefile.in
index b7b317e74..da6bcaa24 100644
--- a/xserver/hw/xfree86/os-support/stub/Makefile.in
+++ b/xserver/hw/xfree86/os-support/stub/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/parser/Makefile.in b/xserver/hw/xfree86/parser/Makefile.in
index 77628c81f..37d6d4363 100644
--- a/xserver/hw/xfree86/parser/Makefile.in
+++ b/xserver/hw/xfree86/parser/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/ramdac/Makefile.in b/xserver/hw/xfree86/ramdac/Makefile.in
index a8012c6c2..d07f92f4a 100644
--- a/xserver/hw/xfree86/ramdac/Makefile.in
+++ b/xserver/hw/xfree86/ramdac/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/shadowfb/Makefile.in b/xserver/hw/xfree86/shadowfb/Makefile.in
index 71e15c6a7..91738e1ff 100644
--- a/xserver/hw/xfree86/shadowfb/Makefile.in
+++ b/xserver/hw/xfree86/shadowfb/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/utils/Makefile.in b/xserver/hw/xfree86/utils/Makefile.in
index 377b2a9c7..49ac19002 100644
--- a/xserver/hw/xfree86/utils/Makefile.in
+++ b/xserver/hw/xfree86/utils/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/utils/cvt/Makefile.in b/xserver/hw/xfree86/utils/cvt/Makefile.in
index d8a922068..c1613482c 100644
--- a/xserver/hw/xfree86/utils/cvt/Makefile.in
+++ b/xserver/hw/xfree86/utils/cvt/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/utils/gtf/Makefile.in b/xserver/hw/xfree86/utils/gtf/Makefile.in
index bb5619a06..b8e77c099 100644
--- a/xserver/hw/xfree86/utils/gtf/Makefile.in
+++ b/xserver/hw/xfree86/utils/gtf/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/utils/man/Makefile.in b/xserver/hw/xfree86/utils/man/Makefile.in
index 19d99c50e..8366a0c45 100644
--- a/xserver/hw/xfree86/utils/man/Makefile.in
+++ b/xserver/hw/xfree86/utils/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/vbe/Makefile.in b/xserver/hw/xfree86/vbe/Makefile.in
index 4be9fd5eb..428bbab19 100644
--- a/xserver/hw/xfree86/vbe/Makefile.in
+++ b/xserver/hw/xfree86/vbe/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/vgahw/Makefile.in b/xserver/hw/xfree86/vgahw/Makefile.in
index 542d29efa..80c0da81c 100644
--- a/xserver/hw/xfree86/vgahw/Makefile.in
+++ b/xserver/hw/xfree86/vgahw/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xfree86/x86emu/Makefile.in b/xserver/hw/xfree86/x86emu/Makefile.in
index 510433e87..dc0cde8f7 100644
--- a/xserver/hw/xfree86/x86emu/Makefile.in
+++ b/xserver/hw/xfree86/x86emu/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xnest/Makefile.in b/xserver/hw/xnest/Makefile.in
index 6b0a75a99..fde822eba 100644
--- a/xserver/hw/xnest/Makefile.in
+++ b/xserver/hw/xnest/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xnest/man/Makefile.in b/xserver/hw/xnest/man/Makefile.in
index 34540381b..cc90c3ac4 100644
--- a/xserver/hw/xnest/man/Makefile.in
+++ b/xserver/hw/xnest/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/GL/Makefile.in b/xserver/hw/xquartz/GL/Makefile.in
index 0ab7ec630..08b6a590c 100644
--- a/xserver/hw/xquartz/GL/Makefile.in
+++ b/xserver/hw/xquartz/GL/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/GL/capabilities.c b/xserver/hw/xquartz/GL/capabilities.c
index 4702595f4..5573629fd 100644
--- a/xserver/hw/xquartz/GL/capabilities.c
+++ b/xserver/hw/xquartz/GL/capabilities.c
@@ -20,6 +20,10 @@
* DEALINGS IN THE SOFTWARE.
*/
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
diff --git a/xserver/hw/xquartz/Makefile.in b/xserver/hw/xquartz/Makefile.in
index 2097f5038..7476c6420 100644
--- a/xserver/hw/xquartz/Makefile.in
+++ b/xserver/hw/xquartz/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/bundle/Makefile.in b/xserver/hw/xquartz/bundle/Makefile.in
index fe108fbcb..4fb91a897 100644
--- a/xserver/hw/xquartz/bundle/Makefile.in
+++ b/xserver/hw/xquartz/bundle/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/darwin.c b/xserver/hw/xquartz/darwin.c
index d26f18a12..b3a1fb37a 100644
--- a/xserver/hw/xquartz/darwin.c
+++ b/xserver/hw/xquartz/darwin.c
@@ -231,13 +231,15 @@ DarwinScreenInit(ScreenPtr pScreen, int argc, char **argv)
}
// TODO: Make PseudoColor visuals not suck in TrueColor mode
- // if(dfb->depth > 8)
- // miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0);
- if (dfb->depth > 15)
- miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor,
- RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5,
- 5),
- BM_ARGB(0, 5, 5, 5));
+ // if(dfb->depth > 8)
+ // miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0);
+ //
+ // TODO: Re-add support for 15bit
+ // if (dfb->depth > 15)
+ // miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor,
+ // RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5,
+ // 5),
+ // BM_ARGB(0, 5, 5, 5));
if (dfb->depth > 24)
miSetVisualTypesAndMasks(24, TrueColorMask, 8, TrueColor,
RM_ARGB(0, 8, 8, 8), GM_ARGB(0, 8, 8,
diff --git a/xserver/hw/xquartz/mach-startup/Makefile.in b/xserver/hw/xquartz/mach-startup/Makefile.in
index 9d2897bd4..bc87e8768 100644
--- a/xserver/hw/xquartz/mach-startup/Makefile.in
+++ b/xserver/hw/xquartz/mach-startup/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/man/Makefile.in b/xserver/hw/xquartz/man/Makefile.in
index e373879a9..caef8929a 100644
--- a/xserver/hw/xquartz/man/Makefile.in
+++ b/xserver/hw/xquartz/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/pbproxy/Makefile.in b/xserver/hw/xquartz/pbproxy/Makefile.in
index b44311343..470ec38ea 100644
--- a/xserver/hw/xquartz/pbproxy/Makefile.in
+++ b/xserver/hw/xquartz/pbproxy/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/xpr/Makefile.in b/xserver/hw/xquartz/xpr/Makefile.in
index 7dfbc5a4e..8833f197f 100644
--- a/xserver/hw/xquartz/xpr/Makefile.in
+++ b/xserver/hw/xquartz/xpr/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/xpr/dri.c b/xserver/hw/xquartz/xpr/dri.c
index 03af163f7..adba69cca 100644
--- a/xserver/hw/xquartz/xpr/dri.c
+++ b/xserver/hw/xquartz/xpr/dri.c
@@ -64,6 +64,7 @@
#include "mi.h"
#include "mipointer.h"
#include "rootless.h"
+#include "rootlessCommon.h"
#include "x-hash.h"
#include "x-hook.h"
#include "driWrap.h"
@@ -380,6 +381,11 @@ DRICreateSurface(ScreenPtr pScreen, Drawable id,
DRIDrawablePrivPtr pDRIDrawablePriv;
if (pDrawable->type == DRAWABLE_WINDOW) {
+ /* <rdar://problem/12338921>
+ * http://bugs.winehq.org/show_bug.cgi?id=31751
+ */
+ RootlessStopDrawing((WindowPtr)pDrawable, FALSE);
+
pDRIDrawablePriv = CreateSurfaceForWindow(pScreen,
(WindowPtr)pDrawable, &wid);
diff --git a/xserver/hw/xquartz/xpr/xprFrame.c b/xserver/hw/xquartz/xpr/xprFrame.c
index 01f1def20..aad375b52 100644
--- a/xserver/hw/xquartz/xpr/xprFrame.c
+++ b/xserver/hw/xquartz/xpr/xprFrame.c
@@ -49,6 +49,10 @@
#include <pthread.h>
#endif
+#ifdef DEBUG_XP_LOCK_WINDOW
+#include <execinfo.h>
+#endif
+
#define DEFINE_ATOM_HELPER(func, atom_name) \
static Atom func(void) { \
static int generation; \
@@ -376,6 +380,18 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
unsigned int rowbytes[2];
xp_error err;
+#ifdef DEBUG_XP_LOCK_WINDOW
+ void* callstack[128];
+ int i, frames = backtrace(callstack, 128);
+ char** strs = backtrace_symbols(callstack, frames);
+
+ ErrorF("=== LOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid));
+ for (i = 0; i < frames; ++i) {
+ ErrorF(" %s\n", strs[i]);
+ }
+ free(strs);
+#endif
+
err = xp_lock_window(x_cvt_vptr_to_uint(
wid), NULL, NULL, data, rowbytes, NULL);
if (err != Success)
@@ -395,6 +411,18 @@ xprStopDrawing(RootlessFrameID wid, Bool flush)
{
xp_error err;
+#ifdef DEBUG_XP_LOCK_WINDOW
+ void* callstack[128];
+ int i, frames = backtrace(callstack, 128);
+ char** strs = backtrace_symbols(callstack, frames);
+
+ ErrorF("=== UNLOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid));
+ for (i = 0; i < frames; ++i) {
+ ErrorF(" %s\n", strs[i]);
+ }
+ free(strs);
+#endif
+
err = xp_unlock_window(x_cvt_vptr_to_uint(wid), flush);
/* This should be a FatalError, but we started tripping over it. Make it a
* FatalError after http://xquartz.macosforge.org/trac/ticket/482 is fixed.
diff --git a/xserver/hw/xquartz/xpr/xprScreen.c b/xserver/hw/xquartz/xpr/xprScreen.c
index efe2aa882..e37601995 100644
--- a/xserver/hw/xquartz/xpr/xprScreen.c
+++ b/xserver/hw/xquartz/xpr/xprScreen.c
@@ -359,6 +359,10 @@ have_depth:
dfb->blueMask = 0;
break;
+#if 0
+ // Removed because Mountain Lion removed support for
+ // 15bit backing stores. We can possibly re-add
+ // this once libXplugin is updated to work around it.
case 15:
dfb->visuals = TrueColorMask; //LARGE_VISUALS;
dfb->preferredCVC = TrueColor;
@@ -369,6 +373,7 @@ have_depth:
dfb->greenMask = GM_ARGB(0, 5, 5, 5);
dfb->blueMask = BM_ARGB(0, 5, 5, 5);
break;
+#endif
// case 24:
default:
diff --git a/xserver/hw/xwin/Makefile.in b/xserver/hw/xwin/Makefile.in
index b30187f09..3fc734014 100644
--- a/xserver/hw/xwin/Makefile.in
+++ b/xserver/hw/xwin/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xwin/glx/Makefile.in b/xserver/hw/xwin/glx/Makefile.in
index 5239427d5..361cb525c 100644
--- a/xserver/hw/xwin/glx/Makefile.in
+++ b/xserver/hw/xwin/glx/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xwin/man/Makefile.in b/xserver/hw/xwin/man/Makefile.in
index c3a8ab367..b30080986 100644
--- a/xserver/hw/xwin/man/Makefile.in
+++ b/xserver/hw/xwin/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/include/Makefile.in b/xserver/include/Makefile.in
index 0824e6375..deae1f126 100644
--- a/xserver/include/Makefile.in
+++ b/xserver/include/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/include/input.h b/xserver/include/input.h
index f8459b8c8..f0196f514 100644
--- a/xserver/include/input.h
+++ b/xserver/include/input.h
@@ -560,9 +560,9 @@ extern void TouchEventHistoryPush(TouchPointInfoPtr ti, const DeviceEvent *ev);
extern void TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev,
XID resource);
extern Bool TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource);
-extern void TouchAddListener(TouchPointInfoPtr ti, XID resource,
+extern void TouchAddListener(TouchPointInfoPtr ti, XID resource, int resource_type,
enum InputLevel level, enum TouchListenerType type,
- enum TouchListenerState state, WindowPtr window);
+ enum TouchListenerState state, WindowPtr window, GrabPtr grab);
extern Bool TouchRemoveListener(TouchPointInfoPtr ti, XID resource);
extern void TouchSetupListeners(DeviceIntPtr dev, TouchPointInfoPtr ti,
InternalEvent *ev);
diff --git a/xserver/include/inputstr.h b/xserver/include/inputstr.h
index 5a38924de..98342432b 100644
--- a/xserver/include/inputstr.h
+++ b/xserver/include/inputstr.h
@@ -298,6 +298,17 @@ typedef struct _ValuatorClassRec {
int v_scroll_axis; /* vert smooth-scrolling axis */
} ValuatorClassRec;
+typedef struct _TouchListener {
+ XID listener; /* grabs/event selection IDs receiving
+ * events for this touch */
+ int resource_type; /* listener's resource type */
+ enum TouchListenerType type;
+ enum TouchListenerState state;
+ enum InputLevel level; /* matters only for emulating touches */
+ WindowPtr window;
+ GrabPtr grab;
+} TouchListener;
+
typedef struct _TouchPointInfo {
uint32_t client_id; /* touch ID as seen in client events */
int sourceid; /* Source device's ID for this touchpoint */
@@ -306,14 +317,7 @@ typedef struct _TouchPointInfo {
* but still owned by a grab */
SpriteRec sprite; /* window trace for delivery */
ValuatorMask *valuators; /* last recorded axis values */
- struct _TouchListener {
- XID listener; /* grabs/event selection IDs receiving
- * events for this touch */
- enum TouchListenerType type;
- enum TouchListenerState state;
- enum InputLevel level; /* matters only for emulating touches */
- WindowPtr window;
- } *listeners;
+ TouchListener *listeners; /* set of listeners */
int num_listeners;
int num_grabs; /* number of open grabs on this touch
* which have not accepted or rejected */
@@ -323,15 +327,13 @@ typedef struct _TouchPointInfo {
size_t history_size; /* Size of history in elements */
} TouchPointInfoRec;
-typedef struct _TouchListener TouchListener;
-
typedef struct _DDXTouchPointInfo {
uint32_t client_id; /* touch ID as seen in client events */
Bool active; /* whether or not the touch is active */
uint32_t ddx_id; /* touch ID given by the DDX */
Bool emulate_pointer;
- ValuatorMask *valuators; /* last recorded axis values */
+ ValuatorMask *valuators; /* last axis values as posted, pre-transform */
} DDXTouchPointInfoRec;
typedef struct _TouchClassRec {
diff --git a/xserver/include/protocol-versions.h b/xserver/include/protocol-versions.h
index cb8e213bb..3128f5f3d 100644
--- a/xserver/include/protocol-versions.h
+++ b/xserver/include/protocol-versions.h
@@ -65,7 +65,7 @@
/* RandR */
#define SERVER_RANDR_MAJOR_VERSION 1
-#define SERVER_RANDR_MINOR_VERSION 3
+#define SERVER_RANDR_MINOR_VERSION 4
/* Record */
#define SERVER_RECORD_MAJOR_VERSION 1
diff --git a/xserver/m4/xorg-tls.m4 b/xserver/m4/xorg-tls.m4
index 237fdcd9e..e04f1ff56 100644
--- a/xserver/m4/xorg-tls.m4
+++ b/xserver/m4/xorg-tls.m4
@@ -28,7 +28,7 @@ AC_DEFUN([XORG_TLS], [
ac_cv_tls=none
keywords="__thread __declspec(thread)"
for kw in $keywords ; do
- AC_TRY_COMPILE([int $kw test;], [], ac_cv_tls=$kw)
+ AC_TRY_COMPILE([int $kw test;], [], ac_cv_tls=$kw ; break ;)
done
])
AC_MSG_RESULT($ac_cv_tls)
diff --git a/xserver/man/Makefile.in b/xserver/man/Makefile.in
index f17eccf4b..3d087516c 100644
--- a/xserver/man/Makefile.in
+++ b/xserver/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/mi/Makefile.in b/xserver/mi/Makefile.in
index 2624ab4c1..a7a848a3b 100644
--- a/xserver/mi/Makefile.in
+++ b/xserver/mi/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/mi/mieq.c b/xserver/mi/mieq.c
index b2c7769ec..67d392894 100644
--- a/xserver/mi/mieq.c
+++ b/xserver/mi/mieq.c
@@ -623,7 +623,11 @@ mieqProcessInputEvents(void)
mieqProcessDeviceEvent(dev, &event, screen);
/* Update the sprite now. Next event may be from different device. */
- if (event.any.type == ET_Motion && master)
+ if (master &&
+ (event.any.type == ET_Motion ||
+ ((event.any.type == ET_TouchBegin ||
+ event.any.type == ET_TouchUpdate) &&
+ event.device_event.flags & TOUCH_POINTER_EMULATED)))
miPointerUpdateSprite(dev);
#ifdef XQUARTZ
diff --git a/xserver/mi/miinitext.c b/xserver/mi/miinitext.c
index d17544097..a15e21953 100644
--- a/xserver/mi/miinitext.c
+++ b/xserver/mi/miinitext.c
@@ -212,10 +212,12 @@ EnableDisableExtension(const char *name, Bool enable)
void
EnableDisableExtensionError(const char *name, Bool enable)
{
- ExtensionToggle *ext = &ExtensionToggleList[0];
+ ExtensionToggle *ext;
+ int i;
Bool found = FALSE;
- for (ext = &ExtensionToggleList[0]; ext->name != NULL; ext++) {
+ for (i = 0; i < ARRAY_SIZE(ExtensionToggleList); i++) {
+ ext = &ExtensionToggleList[i];
if ((strcmp(name, ext->name) == 0) && (ext->disablePtr == NULL)) {
ErrorF("[mi] Extension \"%s\" can not be disabled\n", name);
found = TRUE;
@@ -226,7 +228,8 @@ EnableDisableExtensionError(const char *name, Bool enable)
ErrorF("[mi] Extension \"%s\" is not recognized\n", name);
ErrorF("[mi] Only the following extensions can be run-time %s:\n",
enable ? "enabled" : "disabled");
- for (ext = &ExtensionToggleList[0]; ext->name != NULL; ext++) {
+ for (i = 0; i < ARRAY_SIZE(ExtensionToggleList); i++) {
+ ext = &ExtensionToggleList[i];
if (ext->disablePtr != NULL) {
ErrorF("[mi] %s\n", ext->name);
}
diff --git a/xserver/miext/Makefile.in b/xserver/miext/Makefile.in
index 3d3ba5724..b808e1945 100644
--- a/xserver/miext/Makefile.in
+++ b/xserver/miext/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/miext/damage/Makefile.in b/xserver/miext/damage/Makefile.in
index 2e50dd913..d74e620d2 100644
--- a/xserver/miext/damage/Makefile.in
+++ b/xserver/miext/damage/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/miext/rootless/Makefile.in b/xserver/miext/rootless/Makefile.in
index 6e23f86cd..bc07b65d8 100644
--- a/xserver/miext/rootless/Makefile.in
+++ b/xserver/miext/rootless/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/miext/shadow/Makefile.in b/xserver/miext/shadow/Makefile.in
index fb230872f..87a6a1a3d 100644
--- a/xserver/miext/shadow/Makefile.in
+++ b/xserver/miext/shadow/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/miext/sync/Makefile.in b/xserver/miext/sync/Makefile.in
index 4adc2c9e7..9403efe61 100644
--- a/xserver/miext/sync/Makefile.in
+++ b/xserver/miext/sync/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/os/Makefile.in b/xserver/os/Makefile.in
index 9ce580705..1bd16749d 100644
--- a/xserver/os/Makefile.in
+++ b/xserver/os/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/os/strndup.c b/xserver/os/strndup.c
index b604b9bac..e0eddf13d 100644
--- a/xserver/os/strndup.c
+++ b/xserver/os/strndup.c
@@ -27,6 +27,10 @@
* SUCH DAMAGE.
*/
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
diff --git a/xserver/randr/Makefile.in b/xserver/randr/Makefile.in
index 738ee8200..12d9fb8e7 100644
--- a/xserver/randr/Makefile.in
+++ b/xserver/randr/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/randr/randrstr.h b/xserver/randr/randrstr.h
index 212b0a9be..27aa101cc 100644
--- a/xserver/randr/randrstr.h
+++ b/xserver/randr/randrstr.h
@@ -57,7 +57,7 @@
#define RANDR_13_INTERFACE 1 /* requires RANDR_12_INTERFACE */
#define RANDR_GET_CRTC_INTERFACE 1
-#define RANDR_INTERFACE_VERSION 0x0103
+#define RANDR_INTERFACE_VERSION 0x0104
typedef XID RRMode;
typedef XID RROutput;
diff --git a/xserver/randr/rrcrtc.c b/xserver/randr/rrcrtc.c
index e82d050e3..6e2eca5ad 100644
--- a/xserver/randr/rrcrtc.c
+++ b/xserver/randr/rrcrtc.c
@@ -372,6 +372,11 @@ RRCrtcDetachScanoutPixmap(RRCrtcPtr crtc)
ret = pScrPriv->rrCrtcSetScanoutPixmap(crtc, NULL);
if (crtc->scanout_pixmap) {
master->StopPixmapTracking(mscreenpix, crtc->scanout_pixmap);
+ /*
+ * Unref the pixmap twice: once for the original reference, and once
+ * for the reference implicitly added by PixmapShareToSlave.
+ */
+ master->DestroyPixmap(crtc->scanout_pixmap->master_pixmap);
master->DestroyPixmap(crtc->scanout_pixmap->master_pixmap);
crtc->pScreen->DestroyPixmap(crtc->scanout_pixmap);
}
diff --git a/xserver/record/Makefile.in b/xserver/record/Makefile.in
index 6ab20b1f1..d28701864 100644
--- a/xserver/record/Makefile.in
+++ b/xserver/record/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/render/Makefile.in b/xserver/render/Makefile.in
index 550b9d7b7..21ca40484 100644
--- a/xserver/render/Makefile.in
+++ b/xserver/render/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/render/animcur.c b/xserver/render/animcur.c
index ebc5b8ef7..9cbba83fa 100644
--- a/xserver/render/animcur.c
+++ b/xserver/render/animcur.c
@@ -143,6 +143,8 @@ AnimCurScreenBlockHandler(ScreenPtr pScreen,
Bool activeDevice = FALSE;
CARD32 now = 0, soonest = ~0; /* earliest time to wakeup again */
+ Unwrap(as, pScreen, BlockHandler);
+
for (dev = inputInfo.devices; dev; dev = dev->next) {
if (IsPointerDevice(dev) && pScreen == dev->spriteInfo->anim.pScreen) {
if (!activeDevice) {
@@ -180,7 +182,6 @@ AnimCurScreenBlockHandler(ScreenPtr pScreen,
if (activeDevice)
AdjustWaitForDelay(pTimeout, soonest - now);
- Unwrap(as, pScreen, BlockHandler);
(*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
if (activeDevice)
Wrap(as, pScreen, BlockHandler, AnimCurScreenBlockHandler);
diff --git a/xserver/test/Makefile.in b/xserver/test/Makefile.in
index 4d603264e..cf6dd8cc4 100644
--- a/xserver/test/Makefile.in
+++ b/xserver/test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/test/xi2/Makefile.in b/xserver/test/xi2/Makefile.in
index 45f455f05..fe30afcb9 100644
--- a/xserver/test/xi2/Makefile.in
+++ b/xserver/test/xi2/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/xfixes/Makefile.in b/xserver/xfixes/Makefile.in
index 716fca9c4..6fa015b8c 100644
--- a/xserver/xfixes/Makefile.in
+++ b/xserver/xfixes/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/xfixes/xfixes.c b/xserver/xfixes/xfixes.c
index 52c57dfab..48af9ea6e 100644
--- a/xserver/xfixes/xfixes.c
+++ b/xserver/xfixes/xfixes.c
@@ -74,7 +74,7 @@ ProcXFixesQueryVersion(ClientPtr client)
if (version_compare(stuff->majorVersion, stuff->minorVersion,
SERVER_XFIXES_MAJOR_VERSION,
- SERVER_XFIXES_MAJOR_VERSION) < 0) {
+ SERVER_XFIXES_MINOR_VERSION) < 0) {
rep.majorVersion = stuff->majorVersion;
rep.minorVersion = stuff->minorVersion;
}
diff --git a/xserver/xkb/Makefile.in b/xserver/xkb/Makefile.in
index 5b79a22f7..5156a1333 100644
--- a/xserver/xkb/Makefile.in
+++ b/xserver/xkb/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/xkb/xkbAccessX.c b/xserver/xkb/xkbAccessX.c
index 21df85d94..13051e034 100644
--- a/xserver/xkb/xkbAccessX.c
+++ b/xserver/xkb/xkbAccessX.c
@@ -723,23 +723,27 @@ ProcessPointerEvent(InternalEvent *ev, DeviceIntPtr mouse)
changed |= XkbPointerButtonMask;
}
else if (event->type == ET_ButtonRelease) {
- if (xkbi) {
- xkbi->lockedPtrButtons &= ~(1 << (event->detail.key & 0x7));
-
- if (IsMaster(dev)) {
- DeviceIntPtr source;
- int rc;
-
- rc = dixLookupDevice(&source, event->sourceid, serverClient,
- DixWriteAccess);
- if (rc != Success)
- ErrorF("[xkb] bad sourceid '%d' on button release event.\n",
- event->sourceid);
- else if (!IsXTestDevice(source, GetMaster(dev, MASTER_POINTER)))
+ if (IsMaster(dev)) {
+ DeviceIntPtr source;
+ int rc;
+
+ rc = dixLookupDevice(&source, event->sourceid, serverClient,
+ DixWriteAccess);
+ if (rc != Success)
+ ErrorF("[xkb] bad sourceid '%d' on button release event.\n",
+ event->sourceid);
+ else if (!IsXTestDevice(source, GetMaster(dev, MASTER_POINTER))) {
+ DeviceIntPtr xtest_device;
+
+ xtest_device = GetXTestDevice(GetMaster(dev, MASTER_POINTER));
+ if (button_is_down(xtest_device, ev->device_event.detail.button, BUTTON_PROCESSED))
XkbFakeDeviceButton(dev, FALSE, event->detail.key);
}
}
+ if (xkbi)
+ xkbi->lockedPtrButtons &= ~(1 << (event->detail.key & 0x7));
+
changed |= XkbPointerButtonMask;
}
diff --git a/xserver/xkb/xkbUtils.c b/xserver/xkb/xkbUtils.c
index c23cd7784..6c6af60f0 100644
--- a/xserver/xkb/xkbUtils.c
+++ b/xserver/xkb/xkbUtils.c
@@ -642,6 +642,7 @@ XkbComputeCompatState(XkbSrvInfoPtr xkbi)
CARD16 grp_mask;
XkbStatePtr state = &xkbi->state;
XkbCompatMapPtr map;
+ XkbControlsPtr ctrls;
if (!state || !xkbi->desc || !xkbi->desc->ctrls || !xkbi->desc->compat)
return;
@@ -650,9 +651,14 @@ XkbComputeCompatState(XkbSrvInfoPtr xkbi)
grp_mask = map->groups[state->group].mask;
state->compat_state = state->mods | grp_mask;
state->compat_lookup_mods = state->lookup_mods | grp_mask;
+ ctrls= xkbi->desc->ctrls;
- if (xkbi->desc->ctrls->enabled_ctrls & XkbIgnoreGroupLockMask)
- grp_mask = map->groups[state->base_group].mask;
+ if (ctrls->enabled_ctrls & XkbIgnoreGroupLockMask) {
+ unsigned char grp = state->base_group+state->latched_group;
+ if (grp >= ctrls->num_groups)
+ grp = XkbAdjustGroup(XkbCharToInt(grp), ctrls);
+ grp_mask = map->groups[grp].mask;
+ }
state->compat_grab_mods = state->grab_mods | grp_mask;
return;
}