[arch-commits] Commit in xorg-server/trunk (5 files)

Jan de Groot jgc at archlinux.org
Sun Mar 29 16:22:25 UTC 2009


    Date: Sunday, March 29, 2009 @ 12:22:25
  Author: jgc
Revision: 32215

upgpkg: xorg-server 1.6.0-2
    Rebuild with new mesa, add post-release patches from 1.6 branch

Added:
  xorg-server/trunk/server-1.6.patch
Modified:
  xorg-server/trunk/PKGBUILD
Deleted:
  xorg-server/trunk/xserver-1.5-branch-4970d.patch
  xorg-server/trunk/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
  xorg-server/trunk/xserver-1.5.3-AEI-on-by-default.patch

--------------------------------------------------------+
 PKGBUILD                                               |   18 
 server-1.6.patch                                       |  540 +++++++++++++++
 xserver-1.5-branch-4970d.patch                         |  246 ------
 xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch |   69 -
 xserver-1.5.3-AEI-on-by-default.patch                  |  108 ---
 5 files changed, 554 insertions(+), 427 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2009-03-29 16:05:02 UTC (rev 32214)
+++ PKGBUILD	2009-03-29 16:22:25 UTC (rev 32215)
@@ -4,31 +4,41 @@
 
 pkgname=xorg-server
 pkgver=1.6.0
-pkgrel=1
+pkgrel=2
 pkgdesc="X.Org X servers"
 arch=('i686' 'x86_64')
 license=('custom')
 url="http://xorg.freedesktop.org"
 depends=('hal>=0.5.11' 'libgl' 'libxfont>=1.4.0' 'openssl>=0.9.8j' 'libpciaccess>=0.10.5' 'libxv>=1.0.4' 'pixman>=0.14.0' 'xcursor-themes' 'xkeyboard-config>=1.5' 'xorg-server-utils' 'xorg-fonts-misc' 'xbitmaps' 'diffutils' 'xf86-input-evdev>=2.1.3')
-makedepends=('libx11>=1.2' 'mesa>=7.3' 'xf86driproto>=2.0.4' 'xtrans>=1.2.3' 'libxkbfile>=1.0.5' 'randrproto>=1.2.99.3' 'renderproto>=0.9.3' 'xcmiscproto>=1.1.2' 'bigreqsproto>=1.0.2' 'resourceproto>=1.0.2' 'videoproto>=2.2.2' 'compositeproto>=0.4' 'scrnsaverproto>=1.1.0' 'resourceproto>=1.0.2' 'libxinerama>=1.0.3' 'xf86dgaproto>=2.0.3' 'recordproto>=1.13.2' 'libgl>=7.3' 'glproto>=1.4.9')
+makedepends=('libx11>=1.2' 'mesa>=7.4' 'xf86driproto>=2.0.4' 'xtrans>=1.2.3' 'libxkbfile>=1.0.5' 'randrproto>=1.3.0' 'renderproto>=0.9.3' 'xcmiscproto>=1.1.2' 'bigreqsproto>=1.0.2' 'resourceproto>=1.0.2' 'videoproto>=2.2.2' 'compositeproto>=0.4' 'scrnsaverproto>=1.1.0' 'resourceproto>=1.0.2' 'libxinerama>=1.0.3' 'xf86dgaproto>=2.0.3' 'recordproto>=1.13.2' 'libgl>=7.4' 'glproto>=1.4.9')
 conflicts=('catalyst-utils<=9.2')
 options=('!libtool')
 provides=('x-server')
 groups=('xorg')
 install=xorg-server.install
 source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
-	xorg-redhat-die-ugly-pattern-die-die-die.patch)
+	xorg-redhat-die-ugly-pattern-die-die-die.patch
+	server-1.6.patch)
 md5sums=('aafe73f5807ce8bb534727ecb72467c7'
-         '1a336eb22e27cbf443ec5a2ecddfa93c')
+         '1a336eb22e27cbf443ec5a2ecddfa93c'
+	 'bf0b1c3dba3d7e470c9701039b0dfc7c')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   # Get rid of the ugly pattern
   patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1
 
+  # Upstream fixes from server-1.6 branch
+  patch -Np1 -i "${srcdir}/server-1.6.patch" || return 1
+
   # Fix dbus config path
   sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.*  || return 1
 
+  libtoolize --force || return 1
+  aclocal || return 1
+  autoconf || return 1
+  automake --add-missing || return 1
+
   ./configure --prefix=/usr \
               --enable-ipv6 \
               --enable-dri \

Added: server-1.6.patch
===================================================================
--- server-1.6.patch	                        (rev 0)
+++ server-1.6.patch	2009-03-29 16:22:25 UTC (rev 32215)
@@ -0,0 +1,540 @@
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/Makefile.am xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/Makefile.am
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/Makefile.am	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/Makefile.am	2009-03-27 20:49:45.000000000 +0000
+@@ -50,10 +50,12 @@
+ 
+ MAINTAINERCLEANFILES=ChangeLog
+ 
++DISTCLEANFILES = doltlibtool doltcompile
++
+ .PHONY: ChangeLog
+ 
+ ChangeLog:
+-	(GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || \
++	(GIT_DIR=$(top_srcdir)/.git git log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || \
+ 	(touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+ 
+ dist-hook: ChangeLog
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/Xext/xselinux.c xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/Xext/xselinux.c
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/Xext/xselinux.c	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/Xext/xselinux.c	2009-03-27 20:49:45.000000000 +0000
+@@ -186,19 +186,19 @@
+     obj->poly = 1;
+ 
+     /* Look in the mappings of names to contexts */
+-    if (selabel_lookup(label_hnd, &ctx, name, map) == 0) {
++    if (selabel_lookup_raw(label_hnd, &ctx, name, map) == 0) {
+ 	obj->poly = 0;
+     } else if (errno != ENOENT) {
+ 	ErrorF("SELinux: a property label lookup failed!\n");
+ 	return BadValue;
+-    } else if (selabel_lookup(label_hnd, &ctx, name, polymap) < 0) {
++    } else if (selabel_lookup_raw(label_hnd, &ctx, name, polymap) < 0) {
+ 	ErrorF("SELinux: a property label lookup failed!\n");
+ 	return BadValue;
+     }
+ 
+     /* Get a SID for context */
+-    if (avc_context_to_sid(ctx, &obj->sid) < 0) {
+-	ErrorF("SELinux: a context_to_SID call failed!\n");
++    if (avc_context_to_sid_raw(ctx, &obj->sid) < 0) {
++	ErrorF("SELinux: a context_to_SID_raw call failed!\n");
+ 	rc = BadAlloc;
+     }
+ 
+@@ -343,7 +343,7 @@
+ 		  SELinuxObjectRec *sid_return)
+ {
+     const char *name = LookupEventName(type);
+-    security_context_t con;
++    security_context_t ctx;
+     type &= 127;
+ 
+     if (type >= numKnownEvents) {
+@@ -359,16 +359,16 @@
+ 
+     if (!knownEvents[type]) {
+ 	/* Look in the mappings of event names to contexts */
+-	if (selabel_lookup(label_hnd, &con, name, SELABEL_X_EVENT) < 0) {
++	if (selabel_lookup_raw(label_hnd, &ctx, name, SELABEL_X_EVENT) < 0) {
+ 	    ErrorF("SELinux: an event label lookup failed!\n");
+ 	    return BadValue;
+ 	}
+ 	/* Get a SID for context */
+-	if (avc_context_to_sid(con, knownEvents + type) < 0) {
+-	    ErrorF("SELinux: a context_to_SID call failed!\n");
++	if (avc_context_to_sid_raw(ctx, knownEvents + type) < 0) {
++	    ErrorF("SELinux: a context_to_SID_raw call failed!\n");
+ 	    return BadAlloc;
+ 	}
+-	freecon(con);
++	freecon(ctx);
+     }
+ 
+     /* Perform a transition to obtain the final SID */
+@@ -474,7 +474,7 @@
+     /* Try to get a context from the socket */
+     if (fd < 0 || getpeercon_raw(fd, &ctx) < 0) {
+ 	/* Otherwise, fall back to a default context */
+-	if (selabel_lookup(label_hnd, &ctx, "remote", SELABEL_X_CLIENT) < 0)
++	if (selabel_lookup_raw(label_hnd, &ctx, "remote", SELABEL_X_CLIENT) < 0)
+ 	    FatalError("SELinux: failed to look up remote-client context\n");
+     }
+ 
+@@ -509,8 +509,8 @@
+ 
+ finish:
+     /* Get a SID from the context */
+-    if (avc_context_to_sid(ctx, &subj->sid) < 0)
+-	FatalError("SELinux: client %d: context_to_sid(%s) failed\n",
++    if (avc_context_to_sid_raw(ctx, &subj->sid) < 0)
++	FatalError("SELinux: client %d: context_to_sid_raw(%s) failed\n",
+ 		   client->index, ctx);
+ 
+     sidget(obj->sid = subj->sid);
+@@ -541,7 +541,7 @@
+ 	FatalError("SELinux: couldn't get context of X server process\n");
+ 
+     /* Get a SID from the context */
+-    if (avc_context_to_sid(ctx, &subj->sid) < 0)
++    if (avc_context_to_sid_raw(ctx, &subj->sid) < 0)
+ 	FatalError("SELinux: serverClient: context_to_sid(%s) failed\n", ctx);
+ 
+     sidget(obj->sid = subj->sid);
+@@ -827,20 +827,20 @@
+     /* XXX there should be a separate callback for this */
+     if (obj->sid == unlabeled_sid) {
+ 	const char *name = rec->ext->name;
+-	security_context_t con;
++	security_context_t ctx;
+ 	security_id_t sid;
+ 
+ 	serv = dixLookupPrivate(&serverClient->devPrivates, subjectKey);
+ 
+ 	/* Look in the mappings of extension names to contexts */
+-	if (selabel_lookup(label_hnd, &con, name, SELABEL_X_EXT) < 0) {
++	if (selabel_lookup_raw(label_hnd, &ctx, name, SELABEL_X_EXT) < 0) {
+ 	    ErrorF("SELinux: a property label lookup failed!\n");
+ 	    rec->status = BadValue;
+ 	    return;
+ 	}
+ 	/* Get a SID for context */
+-	if (avc_context_to_sid(con, &sid) < 0) {
+-	    ErrorF("SELinux: a context_to_SID call failed!\n");
++	if (avc_context_to_sid_raw(ctx, &sid) < 0) {
++	    ErrorF("SELinux: a context_to_SID_raw call failed!\n");
+ 	    rec->status = BadAlloc;
+ 	    return;
+ 	}
+@@ -851,11 +851,11 @@
+ 	if (avc_compute_create(serv->sid, sid, SECCLASS_X_EXTENSION,
+ 			       &obj->sid) < 0) {
+ 	    ErrorF("SELinux: a SID transition call failed!\n");
+-	    freecon(con);
++	    freecon(ctx);
+ 	    rec->status = BadValue;
+ 	    return;
+ 	}
+-	freecon(con);
++	freecon(ctx);
+     }
+ 
+     /* Perform the security check */
+@@ -1150,13 +1150,15 @@
+ 
+     if (rec->type != RT_WINDOW)
+ 	return;
++    if (rec->state != ResourceStateAdding)
++	return;
+ 
+     pWin = (WindowPtr)rec->value;
+     subj = dixLookupPrivate(&wClient(pWin)->devPrivates, subjectKey);
+ 
+     if (subj->sid) {
+ 	security_context_t ctx;
+-	int rc = avc_sid_to_context(subj->sid, &ctx);
++	int rc = avc_sid_to_context_raw(subj->sid, &ctx);
+ 	if (rc < 0)
+ 	    FatalError("SELinux: Failed to get security context!\n");
+ 	rc = dixChangeWindowProperty(serverClient,
+@@ -1172,7 +1174,7 @@
+ 
+     if (obj->sid) {
+ 	security_context_t ctx;
+-	int rc = avc_sid_to_context(obj->sid, &ctx);
++	int rc = avc_sid_to_context_raw(obj->sid, &ctx);
+ 	if (rc < 0)
+ 	    FatalError("SELinux: Failed to get security context!\n");
+ 	rc = dixChangeWindowProperty(serverClient,
+@@ -1288,7 +1290,7 @@
+     int len = 0;
+ 
+     if (sid) {
+-	if (avc_sid_to_context(sid, &ctx) < 0)
++	if (avc_sid_to_context_raw(sid, &ctx) < 0)
+ 	    return BadValue;
+ 	len = strlen(ctx) + 1;
+     }
+@@ -1347,9 +1349,9 @@
+     *pSid = NULL;
+ 
+     if (stuff->context_len > 0) {
+-	if (security_check_context(ctx) < 0)
++	if (security_check_context_raw(ctx) < 0)
+ 	    return BadValue;
+-	if (avc_context_to_sid(ctx, pSid) < 0)
++	if (avc_context_to_sid_raw(ctx, pSid) < 0)
+ 	    return BadValue;
+     }
+     return Success;
+@@ -1393,9 +1395,9 @@
+     if (rc != Success)
+ 	return rc;
+ 
+-    if (security_check_context(ctx) < 0)
++    if (security_check_context_raw(ctx) < 0)
+ 	return BadValue;
+-    if (avc_context_to_sid(ctx, &sid) < 0)
++    if (avc_context_to_sid_raw(ctx, &sid) < 0)
+ 	return BadValue;
+ 
+     subj = dixLookupPrivate(&dev->devPrivates, subjectKey);
+@@ -1511,9 +1513,9 @@
+     SELinuxObjectRec *obj = dixLookupPrivate(privPtr, objectKey);
+     SELinuxObjectRec *data = dixLookupPrivate(privPtr, dataKey);
+ 
+-    if (avc_sid_to_context(obj->sid, &i->octx) < 0)
++    if (avc_sid_to_context_raw(obj->sid, &i->octx) < 0)
+ 	return BadValue;
+-    if (avc_sid_to_context(data->sid, &i->dctx) < 0)
++    if (avc_sid_to_context_raw(data->sid, &i->dctx) < 0)
+ 	return BadValue;
+ 
+     i->id = id;
+@@ -1887,6 +1889,22 @@
+     }
+ }
+ 
++#ifdef HAVE_AVC_NETLINK_ACQUIRE_FD
++static int netlink_fd;
++
++static void
++SELinuxBlockHandler(void *data, struct timeval **tv, void *read_mask)
++{
++}
++
++static void
++SELinuxWakeupHandler(void *data, int err, void *read_mask)
++{
++    if (FD_ISSET(netlink_fd, (fd_set *)read_mask))
++        avc_netlink_check_nb();
++}
++#endif
++
+ 
+ /*
+  * Extension Setup / Teardown
+@@ -1917,6 +1935,12 @@
+     label_hnd = NULL;
+ 
+     audit_close(audit_fd);
++#ifdef HAVE_AVC_NETLINK_ACQUIRE_FD
++    avc_netlink_release_fd();
++    RemoveBlockAndWakeupHandlers(SELinuxBlockHandler, SELinuxWakeupHandler,
++                                 NULL);
++    RemoveGeneralSocket(netlink_fd);
++#endif
+ 
+     avc_destroy();
+     avc_active = 0;
+@@ -1941,7 +1965,7 @@
+     ExtensionEntry *extEntry;
+     struct selinux_opt selabel_option = { SELABEL_OPT_VALIDATE, (char *)1 };
+     struct selinux_opt avc_option = { AVC_OPT_SETENFORCE, (char *)0 };
+-    security_context_t con;
++    security_context_t ctx;
+     int ret = TRUE;
+ 
+     /* Check SELinux mode on system */
+@@ -1988,11 +2012,11 @@
+     if (!label_hnd)
+ 	FatalError("SELinux: Failed to open x_contexts mapping in policy\n");
+ 
+-    if (security_get_initial_context("unlabeled", &con) < 0)
++    if (security_get_initial_context_raw("unlabeled", &ctx) < 0)
+ 	FatalError("SELinux: Failed to look up unlabeled context\n");
+-    if (avc_context_to_sid(con, &unlabeled_sid) < 0)
++    if (avc_context_to_sid_raw(ctx, &unlabeled_sid) < 0)
+ 	FatalError("SELinux: a context_to_SID call failed!\n");
+-    freecon(con);
++    freecon(ctx);
+ 
+     /* Prepare for auditing */
+     audit_fd = audit_open();
+@@ -2013,6 +2037,13 @@
+     if (atom_client_ctx == BAD_RESOURCE)
+ 	FatalError("SELinux: Failed to create atom\n");
+ 
++#ifdef HAVE_AVC_NETLINK_ACQUIRE_FD
++    netlink_fd = avc_netlink_acquire_fd();
++    AddGeneralSocket(netlink_fd);
++    RegisterBlockAndWakeupHandlers(SELinuxBlockHandler, SELinuxWakeupHandler,
++                                   NULL);
++#endif
++
+     /* Register callbacks */
+     ret &= dixRegisterPrivateInitFunc(subjectKey, SELinuxSubjectInit, NULL);
+     ret &= dixRegisterPrivateDeleteFunc(subjectKey, SELinuxSubjectFree, NULL);
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/Xi/xiproperty.c xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/Xi/xiproperty.c
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/Xi/xiproperty.c	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/Xi/xiproperty.c	2009-03-27 20:49:45.000000000 +0000
+@@ -32,6 +32,7 @@
+ #include "dix.h"
+ #include "inputstr.h"
+ #include <X11/extensions/XI.h>
++#include <X11/Xatom.h>
+ #include <X11/extensions/XIproto.h>
+ #include "exglobals.h"
+ #include "exevents.h"
+@@ -48,7 +49,8 @@
+     Atom type;
+     char *name;
+ } dev_properties[] = {
+-    {0, XI_PROP_ENABLED}
++    {0, XI_PROP_ENABLED},
++    {0, XATOM_FLOAT}
+ };
+ 
+ static long XIPropHandlerID = 1;
+@@ -56,11 +58,17 @@
+ /**
+  * Return the type assigned to the specified atom or 0 if the atom isn't known
+  * to the DIX.
++ *
++ * If name is NULL, None is returned.
+  */
+ _X_EXPORT Atom
+ XIGetKnownProperty(char *name)
+ {
+     int i;
++
++    if (!name)
++        return None;
++
+     for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++)
+     {
+         if (strcmp(name, dev_properties[i].name) == 0)
+@@ -71,6 +79,125 @@
+ }
+ 
+ /**
++ * Convert the given property's value(s) into @nelem_return integer values and
++ * store them in @buf_return. If @nelem_return is larger than the number of
++ * values in the property, @nelem_return is set to the number of values in the
++ * property.
++ *
++ * If *@buf_return is NULL and @nelem_return is 0, memory is allocated
++ * automatically and must be freed by the caller.
++ *
++ * Possible return codes.
++ * Success ... No error.
++ * BadMatch ... Wrong atom type, atom is not XA_INTEGER
++ * BadAlloc ... NULL passed as buffer and allocation failed.
++ * BadLength ... @buff is NULL but @nelem_return is non-zero.
++ *
++ * @param val The property value
++ * @param nelem_return The maximum number of elements to return.
++ * @param buf_return Pointer to an array of at least @nelem_return values.
++ * @return Success or the error code if an error occured.
++ */
++_X_EXPORT int
++XIPropToInt(XIPropertyValuePtr val, int *nelem_return, int **buf_return)
++{
++    int i;
++    int *buf;
++
++    if (val->type != XA_INTEGER)
++        return BadMatch;
++    if (!*buf_return && *nelem_return)
++        return BadLength;
++
++    switch(val->format)
++    {
++        case 8:
++        case 16:
++        case 32:
++            break;
++        default:
++            return BadValue;
++    }
++
++    buf = *buf_return;
++
++    if (!buf && !(*nelem_return))
++    {
++        buf = xcalloc(val->size, sizeof(int));
++        if (!buf)
++            return BadAlloc;
++        *buf_return = buf;
++        *nelem_return = val->size;
++    } else if (val->size < *nelem_return)
++        *nelem_return = val->size;
++
++    for (i = 0; i < val->size && i < *nelem_return; i++)
++    {
++        switch(val->format)
++        {
++            case 8:  buf[i] = ((CARD8*)val->data)[i]; break;
++            case 16: buf[i] = ((CARD16*)val->data)[i]; break;
++            case 32: buf[i] = ((CARD32*)val->data)[i]; break;
++        }
++    }
++
++    return Success;
++}
++
++/**
++ * Convert the given property's value(s) into @nelem_return float values and
++ * store them in @buf_return. If @nelem_return is larger than the number of
++ * values in the property, @nelem_return is set to the number of values in the
++ * property.
++ *
++ * If *@buf_return is NULL and @nelem_return is 0, memory is allocated
++ * automatically and must be freed by the caller.
++ *
++ * Possible errors returned:
++ * Success
++ * BadMatch ... Wrong atom type, atom is not XA_FLOAT
++ * BadValue ... Wrong format, format is not 32
++ * BadAlloc ... NULL passed as buffer and allocation failed.
++ * BadLength ... @buff is NULL but @nelem_return is non-zero.
++ *
++ * @param val The property value
++ * @param nelem_return The maximum number of elements to return.
++ * @param buf_return Pointer to an array of at least @nelem_return values.
++ * @return Success or the error code if an error occured.
++ */
++_X_EXPORT int
++XIPropToFloat(XIPropertyValuePtr val, int *nelem_return, float **buf_return)
++{
++    int i;
++    float *buf;
++
++    if (!val->type || val->type != XIGetKnownProperty(XATOM_FLOAT))
++        return BadMatch;
++
++    if (val->format != 32)
++        return BadValue;
++    if (!*buf_return && *nelem_return)
++        return BadLength;
++
++    buf = *buf_return;
++
++    if (!buf && !(*nelem_return))
++    {
++        buf = xcalloc(val->size, sizeof(float));
++        if (!buf)
++            return BadAlloc;
++        *buf_return = buf;
++        *nelem_return = val->size;
++    } else if (val->size < *nelem_return)
++        *nelem_return = val->size;
++
++    for (i = 0; i < val->size && i < *nelem_return; i++)
++           buf[i] = ((float*)val->data)[i];
++
++    return Success;
++}
++
++/**
+  * Init those properties that are allocated by the server and most likely used
+  * by the DIX or the DDX.
+  */
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/configure.ac xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/configure.ac
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/configure.ac	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/configure.ac	2009-03-27 20:49:45.000000000 +0000
+@@ -921,6 +921,10 @@
+ 	AC_CHECK_LIB(selinux, avc_init, [], AC_MSG_ERROR([SELinux library not found])) 
+ 	AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
+ 	AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
++        AC_CHECK_DECL(avc_netlink_acquire_fd,
++                      [AC_DEFINE(HAVE_AVC_NETLINK_ACQUIRE_FD, 1, "Have avc_netlink_acquire_fd")],
++                      [],
++                      [#include <selinux/avc.h>])
+ 	AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
+ 	SELINUX_LIB="-lselinux -laudit"
+ fi
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/hw/xfree86/modes/xf86Crtc.c xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/hw/xfree86/modes/xf86Crtc.c
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/hw/xfree86/modes/xf86Crtc.c	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/hw/xfree86/modes/xf86Crtc.c	2009-03-27 20:49:45.000000000 +0000
+@@ -2061,9 +2061,9 @@
+ 		     (float)config->output[p]->mm_height;
+ 
+ 	if (aspect)
+-	    preferred_match[0] = bestModeForAspect(config, enabled, aspect);
++	    preferred_match[p] = bestModeForAspect(config, enabled, aspect);
+ 
+-	if (preferred_match[0])
++	if (preferred_match[p])
+ 	    ret = TRUE;
+ 
+     } while (0);
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/include/dix-config.h.in xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/include/dix-config.h.in
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/include/dix-config.h.in	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/include/dix-config.h.in	2009-03-27 20:49:45.000000000 +0000
+@@ -434,4 +434,6 @@
+ #include "dix-config-apple-verbatim.h"
+ #endif
+ 
++#undef HAVE_AVC_NETLINK_ACQUIRE_FD
++
+ #endif /* _DIX_CONFIG_H_ */
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/include/exevents.h xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/include/exevents.h
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/include/exevents.h	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/include/exevents.h	2009-03-27 20:49:45.000000000 +0000
+@@ -251,4 +251,16 @@
+ 
+ extern DeviceIntPtr XIGetDevice(xEvent *ev);
+ 
++extern _X_EXPORT int XIPropToInt(
++        XIPropertyValuePtr val,
++        int *nelem_return,
++        int **buf_return
++);
++
++extern _X_EXPORT int XIPropToFloat(
++        XIPropertyValuePtr val,
++        int *nelem_return,
++        float **buf_return
++);
++
+ #endif /* EXEVENTS_H */
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/include/xserver-properties.h xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/include/xserver-properties.h
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/include/xserver-properties.h	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/include/xserver-properties.h	2009-03-27 20:49:45.000000000 +0000
+@@ -26,6 +26,10 @@
+ #ifndef _XSERVER_PROPERTIES_H_
+ #define _XSERVER_PROPERTIES_H_
+ 
++/* Type for a 4 byte float. Storage format IEEE 754 in client's default
++ * byte-ordering. */
++#define XATOM_FLOAT "FLOAT"
++
+ /* BOOL. 0 - device disabled, 1 - device enabled */
+ #define XI_PROP_ENABLED      "Device Enabled"
+ 
+diff -ruN xserver-60c161545af80eb78eb790a05bde79409dfdf16e/xkb/xkbUtils.c xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/xkb/xkbUtils.c
+--- xserver-60c161545af80eb78eb790a05bde79409dfdf16e/xkb/xkbUtils.c	2009-02-25 20:05:44.000000000 +0000
++++ xserver-38b0f9edca80e43b4c8c364cfebc25c835d24cbd/xkb/xkbUtils.c	2009-03-27 20:49:45.000000000 +0000
+@@ -2016,9 +2016,9 @@
+ 
+             strcpy(dst->geom->label_font, src->geom->label_font);
+             i = XkbGeomColorIndex(src->geom, src->geom->label_color);
+-            dst->geom->label_color = &(src->geom->colors[i]);
++            dst->geom->label_color = &(dst->geom->colors[i]);
+             i = XkbGeomColorIndex(src->geom, src->geom->base_color);
+-            dst->geom->base_color = &(src->geom->colors[i]);
++            dst->geom->base_color = &(dst->geom->colors[i]);
+         }
+         else {
+             if (dst->geom->label_font) {

Deleted: xserver-1.5-branch-4970d.patch
===================================================================
--- xserver-1.5-branch-4970d.patch	2009-03-29 16:05:02 UTC (rev 32214)
+++ xserver-1.5-branch-4970d.patch	2009-03-29 16:22:25 UTC (rev 32215)
@@ -1,246 +0,0 @@
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/config/x11-input.fdi xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/config/x11-input.fdi
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/config/x11-input.fdi	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/config/x11-input.fdi	2008-12-16 19:19:00.000000000 +0000
-@@ -64,8 +64,8 @@
-       <merge key="input.x11_options.XkbRules" type="string">base</merge>
- 
-       <!-- If we're using Linux, we use evdev by default (falling back to
--           keyboard otherwise). -->
--      <merge key="input.x11_driver" type="string">keyboard</merge>
-+           kbd otherwise). -->
-+      <merge key="input.x11_driver" type="string">kbd</merge>
-       <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
-       <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
-              string="Linux">
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/exa/exa_accel.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/exa/exa_accel.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/exa/exa_accel.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/exa/exa_accel.c	2008-12-16 19:19:00.000000000 +0000
-@@ -398,6 +398,10 @@
-     RegionPtr srcregion = NULL, dstregion = NULL;
-     xRectangle *rects;
- 
-+    /* avoid doing copy operations if no boxes */
-+    if (nbox == 0)
-+	return;
-+
-     pSrcPixmap = exaGetDrawablePixmap (pSrcDrawable);
-     pDstPixmap = exaGetDrawablePixmap (pDstDrawable);
- 
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/common/xf86Helper.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/common/xf86Helper.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/common/xf86Helper.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/common/xf86Helper.c	2008-12-16 19:19:00.000000000 +0000
-@@ -448,10 +448,6 @@
- #define GLOBAL_DEFAULT_DEPTH 24
- #endif
- 
--#ifndef GLOBAL_DEFAULT_FBBPP
--#define GLOBAL_DEFAULT_FBBPP 32
--#endif
--
- _X_EXPORT Bool
- xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp,
- 		int depth24flags)
-@@ -529,7 +525,6 @@
- 	    if (depth > 0)
- 		scrp->depth = depth;
- 	} else {
--	    scrp->bitsPerPixel = GLOBAL_DEFAULT_FBBPP;
- 	    scrp->depth = GLOBAL_DEFAULT_DEPTH;
- 	}
-     }
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/os-support/linux/int10/linux.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/os-support/linux/int10/linux.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/os-support/linux/int10/linux.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/os-support/linux/int10/linux.c	2008-12-16 19:19:00.000000000 +0000
-@@ -1,6 +1,6 @@
- /*
-  * linux specific part of the int10 module
-- * Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich
-+ * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2008 Egbert Eich
-  */
- #ifdef HAVE_XORG_CONFIG_H
- #include <xorg-config.h>
-@@ -357,7 +357,10 @@
- 		   "shmat(low_mem) error: %s\n",strerror(errno));
- 	return FALSE;
-     }
--    
-+    if (mprotect((void*)0, V_RAM, PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
-+        xf86DrvMsg(pInt->scrnIndex, X_ERROR,
-+		   "Cannot set EXEC bit on low memory: %s\n", strerror(errno));
-+
-     if (((linuxInt10Priv*)pInt->private)->highMem >= 0) {
- 	addr = shmat(((linuxInt10Priv*)pInt->private)->highMem,
- 		     (char*)HIGH_MEM, 0);
-@@ -368,6 +371,11 @@
- 		       "shmget error: %s\n",strerror(errno));
- 	    return FALSE;
- 	}
-+	if (mprotect((void*)HIGH_MEM, HIGH_MEM_SIZE,
-+		     PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
-+	    xf86DrvMsg(pInt->scrnIndex, X_ERROR,
-+		       "Cannot set EXEC bit on high memory: %s\n",
-+		       strerror(errno));
-     } else {
- 	if ((fd = open(DEV_MEM, O_RDWR, 0)) >= 0) {
- 	    if (mmap((void *)(V_BIOS), SYS_BIOS - V_BIOS,
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaa.h xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaa.h
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaa.h	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaa.h	2008-12-16 19:19:00.000000000 +0000
-@@ -2,6 +2,10 @@
- #ifndef _XAA_H
- #define _XAA_H
- 
-+#define XAA_VERSION_MAJOR   1
-+#define XAA_VERSION_MINOR   2
-+#define XAA_VERSION_RELEASE 1
-+
- /*
- 
-    ******** OPERATION SPECIFIC FLAGS *********
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaaInitAccel.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaaInitAccel.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaaInitAccel.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaaInitAccel.c	2008-12-16 19:19:00.000000000 +0000
-@@ -103,7 +103,9 @@
- 	MODINFOSTRING1,
- 	MODINFOSTRING2,
- 	XORG_VERSION_CURRENT,
--	1, 2, 0,
-+	XAA_VERSION_MAJOR,
-+	XAA_VERSION_MINOR,
-+	XAA_VERSION_RELEASE,
- 	ABI_CLASS_VIDEODRV,		/* requires the video driver ABI */
- 	ABI_VIDEODRV_VERSION,
- 	MOD_CLASS_NONE,
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaawrap.h xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaawrap.h
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaawrap.h	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaawrap.h	2008-12-16 19:19:00.000000000 +0000
-@@ -48,8 +48,8 @@
-     XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\
-     GCFuncs *oldFuncs = pGC->funcs;\
-     pGC->funcs = pGCPriv->wrapFuncs;\
--    pGC->ops = pGCPriv->wrapOps
--
-+    pGC->ops = pGCPriv->wrapOps; \
-+    SYNC_CHECK(pGC)
-     
- #define XAA_PIXMAP_OP_EPILOGUE(pGC)\
-     pGCPriv->wrapOps = pGC->ops;\
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/mi/miinitext.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/mi/miinitext.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/mi/miinitext.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/mi/miinitext.c	2008-12-16 19:19:00.000000000 +0000
-@@ -661,7 +661,8 @@
- #endif
- 
- #ifdef GLXEXT
--    GlxPushProvider(&__glXDRISWRastProvider);
-+    if (serverGeneration == 1)
-+	GlxPushProvider(&__glXDRISWRastProvider);
-     if (!noGlxExtension) GlxExtensionInit();
- #endif
- }
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/os/utils.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/os/utils.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/os/utils.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/os/utils.c	2008-12-16 19:19:00.000000000 +0000
-@@ -1702,7 +1702,7 @@
-     int pid;
- } *pidlist;
- 
--void (*old_alarm)(int) = NULL; /* XXX horrible awful hack */
-+OsSigHandlerPtr old_alarm = NULL; /* XXX horrible awful hack */
- 
- pointer
- Popen(char *command, char *type)
-@@ -1726,7 +1726,7 @@
-     }
- 
-     /* Ignore the smart scheduler while this is going on */
--    old_alarm = signal(SIGALRM, SIG_IGN);
-+    old_alarm = OsSignal(SIGALRM, SIG_IGN);
-     if (old_alarm == SIG_ERR) {
-       perror("signal");
-       return NULL;
-@@ -1737,7 +1737,7 @@
- 	close(pdes[0]);
- 	close(pdes[1]);
- 	xfree(cur);
--	if (signal(SIGALRM, old_alarm) == SIG_ERR)
-+	if (OsSignal(SIGALRM, old_alarm) == SIG_ERR)
- 	  perror("signal");
- 	return NULL;
-     case 0:	/* child */
-@@ -1914,7 +1914,7 @@
-     /* allow EINTR again */
-     OsReleaseSignals ();
-     
--    if (old_alarm && signal(SIGALRM, old_alarm) == SIG_ERR) {
-+    if (old_alarm && OsSignal(SIGALRM, old_alarm) == SIG_ERR) {
-       perror("signal");
-       return -1;
-     }
-diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/xkb/xkbEvents.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/xkb/xkbEvents.c
---- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/xkb/xkbEvents.c	2008-11-05 20:39:01.000000000 +0000
-+++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/xkb/xkbEvents.c	2008-12-16 19:19:00.000000000 +0000
-@@ -109,7 +109,7 @@
- register CARD16	changed,bState;
- 
-     interest = kbd->xkb_interest;
--    if (!interest)
-+    if (!interest || !kbd->key || !kbd->key->xkbInfo)
- 	return;
-     xkbi = kbd->key->xkbInfo;
-     state= &xkbi->state;
-@@ -168,6 +168,9 @@
- unsigned	time = 0,initialized;
- CARD16		changed;
- 
-+    if (!kbd->key || !kbd->key->xkbInfo)
-+        return;
-+
-     xkbi = kbd->key->xkbInfo;
-     initialized= 0;
- 
-@@ -291,7 +294,7 @@
- Time 		 	time = 0;
- 
-     interest = kbd->xkb_interest;
--    if (!interest)
-+    if (!interest || !kbd->key || !kbd->key->xkbInfo)
- 	return;
-     xkbi = kbd->key->xkbInfo;
-  
-@@ -401,6 +404,9 @@
- Time 		time = 0;
- XID		winID = 0;
- 
-+    if (!kbd->key || !kbd->key->xkbInfo)
-+        return;
-+
-     xkbi = kbd->key->xkbInfo;
- 
-     if ((force||(xkbi->desc->ctrls->enabled_ctrls&XkbAudibleBellMask))&&
-@@ -616,11 +622,12 @@
- XkbInterestPtr	 interest;
- Time 		 time = 0;
- 
--    xkbi = kbd->key->xkbInfo;
-     interest = kbd->xkb_interest;
--    if (!interest)
-+    if (!interest || !kbd->key || !kbd->key->xkbInfo)
- 	return;
-  
-+    xkbi = kbd->key->xkbInfo;
-+
-     initialized = 0;
-     pEv->mods= xkbi->state.mods;
-     pEv->group= xkbi->state.group;
-@@ -996,6 +1003,10 @@
- ClientPtr	client = NULL;
- 
-     found= False;
-+
-+    if (!dev->key || !dev->key->xkbInfo)
-+        return found;
-+
-     autoCtrls= autoValues= 0;
-     if ( dev->xkb_interest ) {
- 	interest = dev->xkb_interest;

Deleted: xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
===================================================================
--- xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch	2009-03-29 16:05:02 UTC (rev 32214)
+++ xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch	2009-03-29 16:22:25 UTC (rev 32215)
@@ -1,69 +0,0 @@
-From 638cab7e1dc3711f7fb04155bcdabf4b8895cc5e Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer at who-t.net>
-Date: Mon, 4 Aug 2008 17:08:36 +0930
-Subject: [PATCH] xfree86: force SwitchCoreKeyboard for evdev devices (updated).
-
-If an evdev keyboard device is added through the HAL mechanism, force a
-SwitchCoreKeyboard to load the evdev map into the VCK. This way, by the time a
-client starts the evdev keymap is already there, leading to less pain lateron.
-
-Works if:
-- all keyboards are hotplugged through HAL, and/or
-- the xorg.conf keyboard uses the kbd driver.
-
-Has no effect (i.e. busted keymaps) if:
-- an evdev keyboard device has been specified in the xorg.conf.
-- we don't have a device at startup and plug a device in after starting the
-  desktop environment.
-- if the device we use isn't the first one reported by HAL.
-
-If HAL isn't set up, this patch is a noop.
----
- hw/xfree86/common/xf86Xinput.c |   31 +++++++++++++++++++++++++++++++
- 1 files changed, 31 insertions(+), 0 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
-index 710e787..dacc3dc 100644
---- a/hw/xfree86/common/xf86Xinput.c
-+++ b/hw/xfree86/common/xf86Xinput.c
-@@ -423,6 +423,37 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev)
-         (!is_auto || xf86Info.autoEnableDevices))
-         EnableDevice(dev);
- 
-+    /* XXX: The VCK always starts with built-in defaults for keymap. These
-+     * defaults are different to the evdev ones. When the first key is hit on
-+     * an extension device, the keymap is copied into the VCK's and any
-+     * changes made at runtime to the VCK map are lost.
-+     *
-+     * Assumption: if we have at least one evdev keyboard device, we can
-+     * ignore kbd devices. Force a SwitchCoreKeyboard so the VCK has the same
-+     * keymap as we do.
-+     *
-+     * Next time we hit a key, we don't change the map over anymore (see
-+     * SwitchCoreKeyboard), and live happily ever after.
-+     * Until we have 2 physical keyboards. Or the first real keyboard isn't
-+     * actually the one we use. Oh well.
-+     *
-+     */
-+    if (dev->key)
-+    {
-+        InputInfoPtr info;
-+
-+        /* Search if there is one other keyboard that uses evdev. */
-+        for (info = xf86InputDevs; info; info = info->next)
-+        {
-+            if (info != pInfo && info->dev && info->dev->key &&
-+                (strcmp(info->drv->driverName, "evdev") == 0))
-+                break;
-+        }
-+
-+        if (!info)
-+            SwitchCoreKeyboard(dev);
-+    }
-+
-     *pdev = dev;
-     return Success;
- 
--- 
-1.5.5.1
-

Deleted: xserver-1.5.3-AEI-on-by-default.patch
===================================================================
--- xserver-1.5.3-AEI-on-by-default.patch	2009-03-29 16:05:02 UTC (rev 32214)
+++ xserver-1.5.3-AEI-on-by-default.patch	2009-03-29 16:22:25 UTC (rev 32215)
@@ -1,108 +0,0 @@
-From 15bf414daa83967fd1f24bd48bd01ea941c11ce2 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer at redhat.com>
-Date: Thu, 13 Nov 2008 10:17:33 +1000
-Subject: [PATCH] xfree86: AllowEmptyInput is true by default - update the xf86Info defaults.
-
-Also set AutoAddDevices and AutoEnableDevices to their defaults.
-
-And in doing so, switch the rest of the defaults over to named intializers.
-
-Signed-off-by: Peter Hutterer <peter.hutterer at redhat.com>
-(cherry picked from commit 0b56b44addc323a00eb7cd86240cb0dd4275bcf8)
-
-Conflicts:
-
-	hw/xfree86/common/xf86Globals.c
----
- hw/xfree86/common/xf86Globals.c |   69 ++++++++++++++++++++------------------
- 1 files changed, 36 insertions(+), 33 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
-index f5babbc..a5edd82 100644
---- a/hw/xfree86/common/xf86Globals.c
-+++ b/hw/xfree86/common/xf86Globals.c
-@@ -95,45 +95,48 @@ InputInfoPtr xf86InputDevs = NULL;
- /* Globals that video drivers may not access */
- 
- xf86InfoRec xf86Info = {
--	-1,		/* consoleFd */
--	-1,		/* vtno */
--	FALSE,		/* vtSysreq */
--	SKWhenNeeded,	/* ddxSpecialKeys */
--	NULL,		/* pMouse */
-+    .consoleFd                  = -1,
-+    .vtno                       = -1,
-+    .vtSysreq                   = FALSE,
-+    .ddxSpecialKeys             = SKWhenNeeded,
-+    .pMouse                     = NULL,
- #ifdef XINPUT
--	NULL,		/* mouseLocal */
-+    .mouseLocal                 = NULL,
- #endif
--	-1,		/* lastEventTime */
--	FALSE,		/* vtRequestsPending */
--	FALSE,		/* inputPending */
--	FALSE,		/* dontVTSwitch */
--	FALSE,		/* dontZap */
--	FALSE,		/* dontZoom */
--	FALSE,		/* notrapSignals */
--	FALSE,		/* caughtSignal */
--	FALSE,		/* sharedMonitor */
--	NULL,		/* currentScreen */
-+    .lastEventTime              = -1,
-+    .vtRequestsPending          = FALSE,
-+    .inputPending               = FALSE,
-+    .dontVTSwitch               = FALSE,
-+    .dontZap                    = FALSE,
-+    .dontZoom                   = FALSE,
-+    .notrapSignals              = FALSE,
-+    .caughtSignal               = FALSE,
-+    .sharedMonitor              = FALSE,
-+    .currentScreen              = NULL,
- #ifdef CSRG_BASED
--	-1,		/* screenFd */
--	-1,		/* consType */
-+    .screenFd                   = -1,
-+    .consType                   = -1,
- #endif
--	FALSE,		/* allowMouseOpenFail */
--	TRUE,		/* vidModeEnabled */
--	FALSE,		/* vidModeAllowNonLocal */
--	TRUE,		/* miscModInDevEnabled */
--	FALSE,		/* miscModInDevAllowNonLocal */
--	PCIOsConfig,	/* pciFlags */
--	Pix24DontCare,	/* pixmap24 */
--	X_DEFAULT,	/* pix24From */
-+    .allowMouseOpenFail         = FALSE,
-+    .vidModeEnabled             = TRUE,
-+    .vidModeAllowNonLocal       = FALSE,
-+    .miscModInDevEnabled        = TRUE,
-+    .miscModInDevAllowNonLocal  = FALSE,
-+    .pciFlags                   = PCIOsConfig,
-+    .pixmap24                   = Pix24DontCare,
-+    .pix24From                  = X_DEFAULT,
- #ifdef __i386__
--	FALSE,		/* pc98 */
-+    .pc98                       = FALSE,
- #endif
--	TRUE,		/* pmFlag */
--	LogNone,	/* syncLog */
--	0,		/* estimateSizesAggressively */
--	FALSE,		/* kbdCustomKeycodes */
--	FALSE,		/* disableRandR */
--	X_DEFAULT	/* randRFrom */
-+    .pmFlag                     = TRUE,
-+    .log                        = LogNone,
-+    .estimateSizesAggressively  = 0,
-+    .kbdCustomKeycodes          = FALSE,
-+    .disableRandR               = FALSE,
-+    .randRFrom                  = X_DEFAULT,
-+    .allowEmptyInput            = TRUE,
-+    .autoAddDevices             = TRUE,
-+    .autoEnableDevices          = TRUE
- };
- const char *xf86ConfigFile = NULL;
- const char *xf86InputDeviceList = NULL;
--- 
-1.6.0.3
-




More information about the arch-commits mailing list