[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'debian-experimental'



 ChangeLog                                                                    |  273 +
 Xi/chgdctl.c                                                                 |    2 
 Xi/exevents.c                                                                |   11 
 config/hal.c                                                                 |   62 
 configure.ac                                                                 |    6 
 debian/changelog                                                             |   44 
 debian/control                                                               |    2 
 debian/patches/50_Make-RandRQueryVersion-return-1.1-for-swapped-client.patch |   31 
 debian/patches/series                                                        |    1 
 dix/Makefile.am                                                              |    3 
 dix/strcasecmp.c                                                             |   74 
 dix/strcasestr.c                                                             |   64 
 exa/exa.c                                                                    |    2 
 glx/glxcmds.c                                                                |    8 
 glx/glxdricommon.c                                                           |   12 
 glx/glxscreens.h                                                             |    7 
 hw/xfree86/common/xf86Config.c                                               |   69 
 include/dix-config.h.in                                                      |   12 
 include/dix.h                                                                |   12 
 xkb/xkb.c                                                                    | 1862 ++++++----
 20 files changed, 1778 insertions(+), 779 deletions(-)

New commits:
commit 8110db9a97477a1a5706457636cb62cfdd768eef
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Aug 28 00:52:29 2008 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index ab22494..1416643 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.99.906-2) UNRELEASED; urgency=low
+xorg-server (2:1.4.99.906-2) experimental; urgency=low
 
   * Pull from server-1.5-branch as of Aug 27th
     + input devices from xorg.conf aren't ignored if there is no ServerLayout
@@ -6,7 +6,7 @@ xorg-server (2:1.4.99.906-2) UNRELEASED; urgency=low
   * Bump build-dep on inputproto to >= 1.4.4 for DeviceControlChanged.
   * Merge in changes from 2:1.4.2-3 to 2:1.4.2-5.
 
- -- Julien Cristau <jcristau@debian.org>  Wed, 27 Aug 2008 23:16:47 +0200
+ -- Julien Cristau <jcristau@debian.org>  Thu, 28 Aug 2008 00:33:02 +0200
 
 xorg-server (2:1.4.99.906-1) experimental; urgency=low
 

commit 07d95614ce2cb53457528d73da7c1970131cda2e
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Aug 28 00:19:24 2008 +0200

    Update changelogs and bump inputproto build-dep

diff --git a/ChangeLog b/ChangeLog
index b75d48f..17f76f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,276 @@
+commit 78f50cd5758d778a5b01aa607c04919b69a5a47f
+Author: Kristian Høgsberg <krh@redhat.com>
+Date:   Tue Aug 26 10:58:35 2008 -0400
+
+    Fix driGetConfigAttribIndex unaligned access to GLboolean.
+    
+    We don't actually send the float mode so just drop it.  Drop a couple of
+    other unused or redundant fields from GLXconfig.
+
+commit c662381a14d2c69cc8b4aa1c66763cbaf6addc5d
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date:   Sun Aug 17 19:57:02 2008 +0200
+
+    exa: fix assert logic thinko from 361a9eb953aaa38f8ebc057185de29e50f9eef26
+    
+    - I guess failing PrepareAccess is rare, since this a 3 year old bug.
+
+commit 582f1381ae07a35c345f940181a8847dc67eb927
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 16:42:15 2008 +0930
+
+    xkb: ProcXkbSetDeviceInfo should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit c06e27b2f6fd9f7b9f827623a48876a225264132)
+
+commit 07e922a257dbe9fa9bd78915fd9d5f7a02d9df62
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 16:41:40 2008 +0930
+
+    xkb: ProcXkbSetGeometry should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit d9ca9819e975e0f6832a320f8be5958e5d942f85)
+
+commit 245fecf7cda8bf72da68882f367bf5211ab809c9
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 16:41:08 2008 +0930
+
+    xkb: ProcXkbSetNames should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit 5ba87c3327786dd7c6e8e265a19c858e8faae8fd)
+
+commit a5c4b9db1279f90d13461667637a1395ad2c7491
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 16:40:25 2008 +0930
+
+    xkb: ProcXkbSetNamedIndicator should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit 7e45c80204e06562d4475741caea65bc8758f3c7)
+    
+    Includes follow-up fix d684f5760f40b682a8b879641300abe689a263c5.
+
+commit 8d4004b092844fbbcfae5562bb4d007de2e70b4b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 16:38:59 2008 +0930
+
+    xkb: ProcXkbSetIndicatorMap should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit a609dbed7cf854a6ee9d33c7cf45615db9da1fb9)
+
+commit 8a18475848e83527060bca1ae7e44c36d18600fa
+Author: Peter Hutterer <peter.hutterer@redhat.com>
+Date:   Wed Aug 13 16:50:55 2008 +0930
+
+    xkb: ProcXkbSetCompatMap should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit e8c2a3d7c996cb41c4c44ba67acae5ff9438fc06)
+    
+    Conflicts:
+    
+    	xkb/xkb.c
+
+commit 5b3eb0a3af9dcaf44230b828332b75e774ab1a46
+Author: Peter Hutterer <peter.hutterer@redhat.com>
+Date:   Wed Aug 13 16:49:33 2008 +0930
+
+    xkb: ProcXkbSetMap should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit 3c7740aa8f21c1fda4190a1bf5d6ce089db5e35b)
+    
+    Conflicts:
+    
+    	xkb/xkb.c
+
+commit 2fa7edd30d5d48bf6fa83dc179bbf37e55e3b72c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 16:32:37 2008 +0930
+
+    xkb: ProcXkbBell should work on all attached SDs.
+    
+    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
+    call. This way, we keep the SDs in sync with the MD as long as core clients
+    control the MDs.
+    (cherry picked from commit 31afd51dd49c0d0db2465fbc987044fab8b89f22)
+
+commit 50382652afc13021f041c42ae6e8893643ea2bfa
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date:   Tue Aug 12 14:53:14 2008 -0700
+
+    Fix --disable/--enable-kbd_mode configure flag
+
+commit 5930aeb45e3849df6fc9abf7373599936d515ffa
+Author: Dave Miller <davem@davemloft.net>
+Date:   Sat Aug 9 16:45:59 2008 +1000
+
+    glx: fix crash in driGetConfigAttribIndex
+    
+    Don't access GLboolean via int pointers
+
+commit b61ee18b72d8b2c2d21ca68dc8566a09a76683fb
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date:   Thu Jul 17 18:16:59 2008 -0700
+
+    Make xstrcasestr prototype return value match the implementation
+    (cherry picked from 3b687ffe1649449b3d182f5e7690274c6c96916a commit)
+
+commit b5932f176c1abffbe75d03b706a2f04a7ef1e5a0
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jul 16 02:59:51 2008 +0300
+
+    DIX: Add strcasestr from FreeBSD
+    
+    Add strcasestr for use on systems which don't have it.
+    (cherry picked from ad87c72edcc0d1f56658e0c4e73af335c8d5a516 commit)
+
+commit ce10b41f1b3f8c9be705823b0c0f0379f2bcb516
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jul 16 02:03:36 2008 +0300
+
+    dix: Actually build str(n)casecmp if we don't have it
+    
+    Remember to add stuff to dix-config.h when you add new AC_DEFINES,
+    people ...
+    (cherry picked from 69b57dc651e12a0d9a5a4295b185c62d5c0df63f commit)
+
+commit 8a319335fa960be04f85a119ed557e62101021ec
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jul 16 01:57:00 2008 +0300
+
+    strcasecmp: Actually use the right license
+    
+    Forgot to update the license when I committed the FreeBSD version, so it
+    still had an old SGI license.  Sorry.  Sorry.
+    (cherry picked from dcf6293030126509d7d6c61d131222037d5ed7db commit)
+
+commit 5a5030af9b8c7a801f07c82feaf3d2eaf4784db3
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jun 11 15:09:46 2008 +0300
+
+    DIX: Add strncasecmp from FreeBSD, make strcasecmp args const
+    
+    Add strncasecmp (as we're now using it) in case someone doesn't have it,
+    and also change strncasecmp args to be const, in accordance with
+    everything else.
+    (cherry picked from 11f9e3520249a603b95e64503ee759998ff17feb commit)
+
+commit f7ee776de29b1cc23a3fd894a559c7d27ddd62af
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 15:52:07 2008 +0930
+
+    config: protect against potential out-of-bounds indexing.
+    (cherry picked from commit 3c6a9c531f673b7a0cb9ca01860b4dbe79686363)
+
+commit 7d508f783c715d633df4f7f924523bd4e1724e08
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Aug 1 14:24:54 2008 +0930
+
+    config: support type strlist for XkbOptions property.
+    
+    For backwards compatibility with server 1.4.
+    (cherry picked from commit 92c51b183c2ff06361dad7f918daed6577ba4935)
+
+commit 2f6b270e48ec7b9eb9ff8f98281308f50c081b63
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Jul 29 12:59:57 2008 +0930
+
+    config: add parsing for input.x11_options.XkbOptions. #16874
+    
+    X.Org Bug 16874 <http://bugs.freedesktop.org/show_bug.cgi?id=16784>
+    (cherry picked from commit 35b14519b4a3158592a089170ec039bbc219603e)
+
+commit 0788adb9a68af83614ee9d0758f30fa471feded8
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jul 16 03:00:25 2008 +0300
+
+    HAL: Remove grotesque open-coded strcasestr
+    
+    Not only was this pretty ugly, but it didn't even work on systems
+    without strcasestr anyway, due to the define not being in dix-config.h.
+    Lack of strcasestr is handled transparently with the version from
+    FreeBSD now anyway, so, huzzah.
+    (cherry picked from commit b8dd07f855c555af56cbf0f69df799f424da2cca)
+
+commit db918ea2b0d6d03688cef9d6b8d318774b9efec2
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Sat Jul 26 15:35:42 2008 +0200
+
+    xfree86: use xorg.conf input devices if there is no ServerLayout
+    
+    If xorg.conf has no ServerLayout section, use the first mouse and
+    keyboard sections as core devices, even with AllowEmptyInput.
+    (cherry picked from commit 2eaed4a10fe5bf727579bca4ab8d4a47c8763a7d)
+
+commit b6024da70404fe1879f1de079e69611fea45a40e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Jul 29 10:00:01 2008 +0930
+
+    Xi: ChangeDeviceControl presence events should set the appropriate devchange.
+    
+    Requires inputproto 1.4.4 or higher.
+    (cherry picked from commit 591ef3c047ab3597fef9d687205e99c254ff2040)
+
+commit da29a25315b5dc0df4f6e221cf81587efffce4c6
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Jul 29 10:04:24 2008 +0930
+
+    Require inputproto 1.4.4
+    
+    for DeviceControlChanged define.
+
+commit d199d800a41f8a6ba044c3f8a3777dec7881e89a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Jul 24 12:12:45 2008 +0930
+
+    xfree86: warn some more about potential missing input devices.
+    
+    Put out a warning if xorg.conf has InputDevice sections, but these aren't
+    referenced in the used ServerLayout. This is only performed if AllowEmptyInput
+    is enabled.
+    The reason behind this is that the server used to auto-add the first
+    mouse/keyboard sections if none where referenced. Now, with HAL and AEI
+    enabled by default, setups that relied on this auto-adding break and are left
+    without input devices. The least we can do is warn them.
+    (cherry picked from commit 47160edec7f0d9129576d83f1593a5549879a893)
+
+commit 538942cc65b5a112739fb94e57b3be963cf50873
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Jul 24 09:56:00 2008 +0930
+
+    xfree86: if AllowEmptyInput is on, warn the user that we rely on HAL now.
+    (cherry picked from commit f30b0823dbfc5902e54b337b5b6b570ebf216584)
+
+commit 37927b8bfa78670b263311ae1f06d2aae973601d
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jul 29 02:51:57 2008 +0300
+
+    Revert "Xi: event_{x,y} should refer to the extended device (bug #16289)"
+    
+    After discussion with Peter, realised that diverging from 1.3 and 1.4's
+    behaviour was daft and insane.  Sorry.
+    
+    This reverts commit 8259d19f7155d82197ecc2aa16b316376c2dcb12.
+
 commit c0c73e9236cffece7c8049515b03facb41f12f0e
 Author: Adam Jackson <ajax@redhat.com>
 Date:   Wed Jul 23 14:16:47 2008 -0400
diff --git a/debian/changelog b/debian/changelog
index 7776a46..acee5e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.4.99.906-2) UNRELEASED; urgency=low
+
+  * Pull from server-1.5-branch as of Aug 27th
+    + input devices from xorg.conf aren't ignored if there is no ServerLayout
+      option (closes: #492140)
+  * Bump build-dep on inputproto to >= 1.4.4 for DeviceControlChanged.
+
+ -- Julien Cristau <jcristau@debian.org>  Wed, 27 Aug 2008 23:16:47 +0200
+
 xorg-server (2:1.4.99.906-1) experimental; urgency=low
 
   * debian/rules: drop useless handling of nostrip in DEB_BUILD_OPTIONS (this
diff --git a/debian/control b/debian/control
index 7d96487..7320cda 100644
--- a/debian/control
+++ b/debian/control
@@ -18,7 +18,7 @@ Build-Depends: debhelper (>= 4.0.0), lsb-release, pkg-config, bison, flex,
  x11proto-xcmisc-dev, x11proto-xext-dev (>= 6.9.99.0),
  x11proto-xf86bigfont-dev, x11proto-xf86dga-dev, x11proto-xf86misc-dev,
  x11proto-xf86vidmode-dev, xtrans-dev, libxau-dev (>= 1:0.99.1),
- x11proto-input-dev (>= 1.4.2),
+ x11proto-input-dev (>= 1.4.4),
  libxdmcp-dev (>= 1:0.99.1), libxfont-dev, libfontenc-dev,
  libxkbfile-dev (>= 1:0.99.1), libpixman-1-dev (>= 0.9.5),
  libpciaccess-dev, libssl-dev,

commit 21c05c4c6cea122a51767ef57fea8baa9a272bfc
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Aug 26 19:27:45 2008 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index 8375ebd..ac9b26b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.2-5) UNRELEASED; urgency=low
+xorg-server (2:1.4.2-5) unstable; urgency=low
 
   * Don't pretend we support randr 1.2 when queried by swapped clients.  The
     dispatch code for RandR 1.2 requests would return BadImplementation anyway
@@ -6,7 +6,7 @@ xorg-server (2:1.4.2-5) UNRELEASED; urgency=low
   * Cherry-picked from upstream:
     + exa: fix assert logic thinko.
 
- -- Julien Cristau <jcristau@debian.org>  Sat, 23 Aug 2008 14:58:14 +0200
+ -- Julien Cristau <jcristau@debian.org>  Tue, 26 Aug 2008 19:27:34 +0200
 
 xorg-server (2:1.4.2-4) unstable; urgency=low
 

commit 965835ca7f353dbef49d613f431e4f61b7f9202f
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Aug 26 19:25:05 2008 +0200

    Update changelog

diff --git a/debian/changelog b/debian/changelog
index 54b1a7b..8375ebd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ xorg-server (2:1.4.2-5) UNRELEASED; urgency=low
   * Don't pretend we support randr 1.2 when queried by swapped clients.  The
     dispatch code for RandR 1.2 requests would return BadImplementation anyway
     (closes: #495833).
+  * Cherry-picked from upstream:
+    + exa: fix assert logic thinko.
 
  -- Julien Cristau <jcristau@debian.org>  Sat, 23 Aug 2008 14:58:14 +0200
 

commit 8153528ca1862136219a8aba158c6c73bfe6bff2
Author: Maarten Maathuis <madman2003@gmail.com>
Date:   Sun Aug 17 19:57:02 2008 +0200

    exa: fix assert logic thinko from 361a9eb953aaa38f8ebc057185de29e50f9eef26
    
    - I guess failing PrepareAccess is rare, since this a 3 year old bug.
    (cherry picked from commit c662381a14d2c69cc8b4aa1c66763cbaf6addc5d)

diff --git a/exa/exa.c b/exa/exa.c
index b2faf2f..34eccc9 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -365,7 +365,7 @@ exaPrepareAccess(DrawablePtr pDrawable, int index)
 
     if (!(*pExaScr->info->PrepareAccess) (pPixmap, index)) {
 	ExaPixmapPriv (pPixmap);
-	if (pExaPixmap->score != EXA_PIXMAP_SCORE_PINNED)
+	if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED)
 	    FatalError("Driver failed PrepareAccess on a pinned pixmap\n");
 	exaMoveOutPixmap (pPixmap);
     }

commit 78f50cd5758d778a5b01aa607c04919b69a5a47f
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Tue Aug 26 10:58:35 2008 -0400

    Fix driGetConfigAttribIndex unaligned access to GLboolean.
    
    We don't actually send the float mode so just drop it.  Drop a couple of
    other unused or redundant fields from GLXconfig.

diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 0831135..95221a7 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -907,7 +907,7 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
 	p = 0;
 	buf[p++] = modes->visualID;
 	buf[p++] = glxConvertToXVisualType( modes->visualType );
-	buf[p++] = modes->rgbMode;
+	buf[p++] = (modes->renderType & GLX_RGBA_BIT) ? GL_TRUE : GL_FALSE;
 
 	buf[p++] = modes->redBits;
 	buf[p++] = modes->greenBits;
@@ -959,7 +959,7 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
     return Success;
 }
 
-#define __GLX_TOTAL_FBCONFIG_ATTRIBS (35)
+#define __GLX_TOTAL_FBCONFIG_ATTRIBS (36)
 #define __GLX_FBCONFIG_ATTRIBS_LENGTH (__GLX_TOTAL_FBCONFIG_ATTRIBS * 2)
 /**
  * Send the set of GLXFBConfigs to the client.  There is not currently
@@ -1011,7 +1011,9 @@ DoGetFBConfigs(__GLXclientState *cl, unsigned screen)
 	WRITE_PAIR( GLX_FBCONFIG_ID,      modes->fbconfigID );
 	WRITE_PAIR( GLX_X_RENDERABLE,     GL_TRUE );
 
-	WRITE_PAIR( GLX_RGBA,             modes->rgbMode );
+	WRITE_PAIR( GLX_RGBA,
+		    (modes->renderType & GLX_RGBA_BIT) ? GL_TRUE : GL_FALSE );
+	WRITE_PAIR( GLX_RENDER_TYPE,      modes->renderType );
 	WRITE_PAIR( GLX_DOUBLEBUFFER,     modes->doubleBufferMode );
 	WRITE_PAIR( GLX_STEREO,           modes->stereoMode );
 
diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
index 3285835..faaa3b7 100644
--- a/glx/glxdricommon.c
+++ b/glx/glxdricommon.c
@@ -88,7 +88,6 @@ static const struct { unsigned int attrib, offset; } attribMap[] = {
     __ATTRIB(__DRI_ATTRIB_TRANSPARENT_GREEN_VALUE,	transparentGreen),
     __ATTRIB(__DRI_ATTRIB_TRANSPARENT_BLUE_VALUE,	transparentBlue),
     __ATTRIB(__DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE,	transparentAlpha),
-    __ATTRIB(__DRI_ATTRIB_FLOAT_MODE,			floatMode),
     __ATTRIB(__DRI_ATTRIB_RED_MASK,			redMask),
     __ATTRIB(__DRI_ATTRIB_GREEN_MASK,			greenMask),
     __ATTRIB(__DRI_ATTRIB_BLUE_MASK,			blueMask),
@@ -136,16 +135,11 @@ createModeFromConfig(const __DRIcoreExtension *core,
     while (core->indexConfigAttrib(driConfig, i++, &attrib, &value)) {
 	switch (attrib) {
 	case __DRI_ATTRIB_RENDER_TYPE:
-	    if (value & __DRI_ATTRIB_RGBA_BIT) {
+	    config->config.renderType = 0;
+	    if (value & __DRI_ATTRIB_RGBA_BIT)
 		config->config.renderType |= GLX_RGBA_BIT;
-		config->config.rgbMode = GL_TRUE;
-	    } else if (value & __DRI_ATTRIB_COLOR_INDEX_BIT) {
+	    if (value & __DRI_ATTRIB_COLOR_INDEX_BIT)
 		config->config.renderType |= GLX_COLOR_INDEX_BIT;
-		config->config.rgbMode = GL_FALSE;
-	    } else {
-		config->config.renderType = 0;
-		config->config.rgbMode = GL_FALSE;
-	    }
 	    break;
 	case __DRI_ATTRIB_CONFIG_CAVEAT:
 	    if (value & __DRI_ATTRIB_NON_CONFORMANT_CONFIG)
@@ -164,10 +158,6 @@ createModeFromConfig(const __DRIcoreExtension *core,
 	    if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT)
 		config->config.bindToTextureTargets |= GLX_TEXTURE_RECTANGLE_BIT_EXT;
 	    break;	
-	case __DRI_ATTRIB_FLOAT_MODE:
-	    config->config.floatMode = (value ? GL_TRUE : GL_FALSE);
-	    break;
-
 	default:
 	    setScalar(&config->config, attrib, value);
 	    break;
diff --git a/glx/glxscreens.h b/glx/glxscreens.h
index 39d162d..ea47db4 100644
--- a/glx/glxscreens.h
+++ b/glx/glxscreens.h
@@ -58,16 +58,9 @@ void __glXSwapBarrierInit(int screen, __GLXSwapBarrierExtensionFuncs *funcs);
 typedef struct __GLXconfig __GLXconfig;
 struct __GLXconfig {
     __GLXconfig *next;
-    GLboolean rgbMode;
-    GLboolean floatMode;
-    GLboolean colorIndexMode;
     GLuint doubleBufferMode;
     GLuint stereoMode;
 
-    GLboolean haveAccumBuffer;
-    GLboolean haveDepthBuffer;
-    GLboolean haveStencilBuffer;
-
     GLint redBits, greenBits, blueBits, alphaBits;	/* bits per comp */
     GLuint redMask, greenMask, blueMask, alphaMask;
     GLint rgbBits;		/* total bits for rgb */

commit a7bbbfd0d9ef43f0ac47fe867eab7cc37b4082a4
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Aug 24 17:47:20 2008 +0200

    Make RandRQueryVersion return 1.1 for swapped clients
    
    Don't pretend we support randr 1.2 when queried by swapped clients.
    The dispatch code for RandR 1.2 requests would return BadImplementation
    anyway.

diff --git a/debian/changelog b/debian/changelog
index 61681c0..54b1a7b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.4.2-5) UNRELEASED; urgency=low
+
+  * Don't pretend we support randr 1.2 when queried by swapped clients.  The
+    dispatch code for RandR 1.2 requests would return BadImplementation anyway
+    (closes: #495833).
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 23 Aug 2008 14:58:14 +0200
+
 xorg-server (2:1.4.2-4) unstable; urgency=low
 
   * Re-enable patch 47_fbdevhw_magic_numbers.diff, fixes xen framebuffer
diff --git a/debian/patches/50_Make-RandRQueryVersion-return-1.1-for-swapped-client.patch b/debian/patches/50_Make-RandRQueryVersion-return-1.1-for-swapped-client.patch
new file mode 100644
index 0000000..d2b76e9
--- /dev/null
+++ b/debian/patches/50_Make-RandRQueryVersion-return-1.1-for-swapped-client.patch
@@ -0,0 +1,31 @@
+From 40090eca032d602c78223abaa13ca4702db86b74 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Sun, 24 Aug 2008 17:44:10 +0200
+Subject: [PATCH] Make RandRQueryVersion return 1.1 for swapped clients
+
+Don't pretend we support randr 1.2 when queried by swapped clients.
+The dispatch code for RandR 1.2 requests would return BadImplementation
+anyway.
+---
+ randr/rrdispatch.c |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/randr/rrdispatch.c b/randr/rrdispatch.c
+index 5525427..83deb6b 100644
+--- a/randr/rrdispatch.c
++++ b/randr/rrdispatch.c
+@@ -55,6 +55,11 @@ ProcRRQueryVersion (ClientPtr client)
+     rep.majorVersion = SERVER_RANDR_MAJOR;
+     rep.minorVersion = SERVER_RANDR_MINOR;
+     if (client->swapped) {
++	/*
++	 * We return BadImplementation for swapped clients on 1.2 requests,
++	 * let's not do that
++	 */
++	rep.minorVersion = 1;
+     	swaps(&rep.sequenceNumber, n);
+     	swapl(&rep.length, n);
+ 	swapl(&rep.majorVersion, n);
+-- 
+1.5.6.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 5252460..c6c3dbc 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -23,6 +23,7 @@
 47_fbdevhw_magic_numbers.diff
 48_xaa_nooffscreenpixmaps.diff
 49_x86emu_int1a_fix.diff
+50_Make-RandRQueryVersion-return-1.1-for-swapped-client.patch
 91_ttf2pt1
 91_ttf2pt1_updates
 92_xprint-security-holes-fix.patch

commit c662381a14d2c69cc8b4aa1c66763cbaf6addc5d
Author: Maarten Maathuis <madman2003@gmail.com>
Date:   Sun Aug 17 19:57:02 2008 +0200

    exa: fix assert logic thinko from 361a9eb953aaa38f8ebc057185de29e50f9eef26
    
    - I guess failing PrepareAccess is rare, since this a 3 year old bug.

diff --git a/exa/exa.c b/exa/exa.c
index 4bd3d81..100a1ec 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -499,7 +499,7 @@ ExaDoPrepareAccess(DrawablePtr pDrawable, int index)
 
     if (!(*pExaScr->info->PrepareAccess) (pPixmap, index)) {
 	ExaPixmapPriv (pPixmap);
-	if (pExaPixmap->score != EXA_PIXMAP_SCORE_PINNED)
+	if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED)
 	    FatalError("Driver failed PrepareAccess on a pinned pixmap\n");
 	exaMoveOutPixmap (pPixmap);
     }

commit aacde8c401f0ef95257435013cb9e79086372358
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri Aug 15 19:16:05 2008 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index bcd7f95..61681c0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-xorg-server (2:1.4.2-4) UNRELEASED; urgency=low
+xorg-server (2:1.4.2-4) unstable; urgency=low
 
   * Re-enable patch 47_fbdevhw_magic_numbers.diff, fixes xen framebuffer
     (closes: #493901).  Thanks, Olivier Tétard!  If someone knows why I
     disabled it a year ago, I'd love to know.
 
- -- Julien Cristau <jcristau@debian.org>  Wed, 06 Aug 2008 12:58:39 +0200
+ -- Julien Cristau <jcristau@debian.org>  Fri, 15 Aug 2008 19:15:54 +0200
 
 xorg-server (2:1.4.2-3) unstable; urgency=low
 

commit 582f1381ae07a35c345f940181a8847dc67eb927
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 1 16:42:15 2008 +0930

    xkb: ProcXkbSetDeviceInfo should work on all attached SDs.
    
    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
    call. This way, we keep the SDs in sync with the MD as long as core clients
    control the MDs.
    (cherry picked from commit c06e27b2f6fd9f7b9f827623a48876a225264132)

diff --git a/xkb/xkb.c b/xkb/xkb.c
index 6df4c9c..be34334 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -6418,25 +6418,15 @@ DeviceIntPtr			kbd;
     return (char *)ledWire;
 }
 
-/* FIXME: Needs to set info on all core-sending devices. */
-int
-ProcXkbSetDeviceInfo(ClientPtr client)
-{
-DeviceIntPtr		dev;
-unsigned		change;
-char *			wire;
-xkbExtensionDeviceNotify ed;
-
-    REQUEST(xkbSetDeviceInfoReq);
-    REQUEST_AT_LEAST_SIZE(xkbSetDeviceInfoReq);
-
-    if (!(client->xkbClientFlags&_XkbClientInitialized))
-	return BadAccess;
 
-    change= stuff->change;
+static int
+_XkbSetDeviceInfo(ClientPtr client, DeviceIntPtr dev,
+                  xkbSetDeviceInfoReq *stuff)
+{
+    unsigned                    change;
+    char                       *wire;
 
-    CHK_ANY_DEVICE(dev, stuff->deviceSpec, client, DixManageAccess);
-    CHK_MASK_LEGAL(0x01,change,XkbXI_AllFeaturesMask);
+    change = stuff->change;
 
     wire= (char *)&stuff[1];
     if (change&XkbXI_ButtonActionsMask) {
@@ -6461,6 +6451,17 @@ xkbExtensionDeviceNotify ed;
     if (((wire-((char *)stuff))/4)!=stuff->length)
 	return BadLength;
 
+    return Success;
+}
+
+static int
+_XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
+                       xkbSetDeviceInfoReq *stuff)
+{
+    unsigned                    change;
+    char                       *wire;
+    xkbExtensionDeviceNotify    ed;
+
     bzero((char *)&ed,SIZEOF(xkbExtensionDeviceNotify));
     ed.deviceID=	dev->id;
     wire= (char *)&stuff[1];
@@ -6501,6 +6502,77 @@ xkbExtensionDeviceNotify ed;
     }
     if ((stuff->change)&&(ed.reason))
 	XkbSendExtensionDeviceNotify(dev,client,&ed);
+    return Success;
+}
+
+int
+ProcXkbSetDeviceInfo(ClientPtr client)
+{
+    unsigned int        change;
+    DeviceIntPtr        dev;
+    int                 rc;
+
+    REQUEST(xkbSetDeviceInfoReq);
+    REQUEST_AT_LEAST_SIZE(xkbSetDeviceInfoReq);
+
+    if (!(client->xkbClientFlags&_XkbClientInitialized))
+	return BadAccess;
+
+    change = stuff->change;
+
+    CHK_ANY_DEVICE(dev, stuff->deviceSpec, client, DixManageAccess);
+    CHK_MASK_LEGAL(0x01,change,XkbXI_AllFeaturesMask);
+
+    rc = _XkbSetDeviceInfoCheck(client, dev, stuff);
+
+    if (rc != Success)
+        return rc;
+
+    if (stuff->deviceSpec == XkbUseCoreKbd || stuff->deviceSpec == XkbUseCorePtr)
+    {
+        DeviceIntPtr other;
+        for (other = inputInfo.devices; other; other = other->next)
+        {
+            if (((other != dev) && other->coreEvents) &&
+                ((stuff->deviceSpec == XkbUseCoreKbd && other->key) ||
+                (stuff->deviceSpec == XkbUseCorePtr && other->button)))
+            {
+                rc = XaceHook(XACE_DEVICE_ACCESS, client, other, DixManageAccess);
+                if (rc == Success)
+                {
+                    rc = _XkbSetDeviceInfoCheck(client, other, stuff);
+                    if (rc != Success)
+                        return rc;
+                }
+            }
+        }
+    }
+
+    /* checks done, apply */
+    rc = _XkbSetDeviceInfo(client, dev, stuff);
+    if (rc != Success)
+        return rc;
+
+    if (stuff->deviceSpec == XkbUseCoreKbd || stuff->deviceSpec == XkbUseCorePtr)
+    {
+        DeviceIntPtr other;
+        for (other = inputInfo.devices; other; other = other->next)
+        {
+            if (((other != dev) && other->coreEvents) &&
+                ((stuff->deviceSpec == XkbUseCoreKbd && other->key) ||
+                (stuff->deviceSpec == XkbUseCorePtr && other->button)))
+            {
+                rc = XaceHook(XACE_DEVICE_ACCESS, client, other, DixManageAccess);
+                if (rc == Success)
+                {
+                    rc = _XkbSetDeviceInfo(client, other, stuff);
+                    if (rc != Success)
+                        return rc;
+                }
+            }
+        }
+    }
+
     return client->noClientException;
 }
 

commit 07e922a257dbe9fa9bd78915fd9d5f7a02d9df62
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 1 16:41:40 2008 +0930

    xkb: ProcXkbSetGeometry should work on all attached SDs.
    
    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
    call. This way, we keep the SDs in sync with the MD as long as core clients
    control the MDs.
    (cherry picked from commit d9ca9819e975e0f6832a320f8be5958e5d942f85)

diff --git a/xkb/xkb.c b/xkb/xkb.c
index 81b2f92..6df4c9c 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -5247,60 +5247,49 @@ char *		wire;
     return Success;
 }
 
-/* FIXME: Needs to set geom on all core-sending devices. */
-int
-ProcXkbSetGeometry(ClientPtr client)
+static int
+_XkbSetGeometry(ClientPtr client, DeviceIntPtr dev, xkbSetGeometryReq *stuff)
 {
-    DeviceIntPtr 	dev;
-    XkbGeometryPtr	geom,old;
-    XkbGeometrySizesRec	sizes;
-    Status		status;
     XkbDescPtr		xkb;
     Bool		new_name;
     xkbNewKeyboardNotify	nkn;
-
-    REQUEST(xkbSetGeometryReq);
-    REQUEST_AT_LEAST_SIZE(xkbSetGeometryReq);
-
-    if (!(client->xkbClientFlags&_XkbClientInitialized))
-	return BadAccess;
-
-    CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, DixManageAccess);
-    CHK_ATOM_OR_NONE(stuff->name);
+    XkbGeometryPtr	geom,old;
+    XkbGeometrySizesRec	sizes;
+    Status		status;
 
     xkb= dev->key->xkbInfo->desc;
     old= xkb->geom;
     xkb->geom= NULL;
 
-    sizes.which= 		XkbGeomAllMask;
+    sizes.which=		XkbGeomAllMask;
     sizes.num_properties=	stuff->nProperties;
-    sizes.num_colors=	  	stuff->nColors;
-    sizes.num_shapes=	  	stuff->nShapes;
-    sizes.num_sections=	  	stuff->nSections;
-    sizes.num_doodads=	  	stuff->nDoodads;
+    sizes.num_colors=	stuff->nColors;
+    sizes.num_shapes=	stuff->nShapes;
+    sizes.num_sections=	stuff->nSections;
+    sizes.num_doodads=	stuff->nDoodads;
     sizes.num_key_aliases=	stuff->nKeyAliases;
     if ((status= XkbAllocGeometry(xkb,&sizes))!=Success) {
-	xkb->geom= old;
-	return status;
+        xkb->geom= old;
+        return status;
     }
     geom= xkb->geom;
     geom->name= stuff->name;
     geom->width_mm= stuff->widthMM;
     geom->height_mm= stuff->heightMM;
     if ((status= _CheckSetGeom(geom,stuff,client))!=Success) {
-	XkbFreeGeometry(geom,XkbGeomAllMask,True);
-	xkb->geom= old;
-	return status;
+        XkbFreeGeometry(geom,XkbGeomAllMask,True);
+        xkb->geom= old;
+        return status;
     }
     new_name= (xkb->names->geometry!=geom->name);
     xkb->names->geometry= geom->name;
     if (old)
-    	XkbFreeGeometry(old,XkbGeomAllMask,True);
+        XkbFreeGeometry(old,XkbGeomAllMask,True);
     if (new_name) {
-	xkbNamesNotify	nn;
-	bzero(&nn,sizeof(xkbNamesNotify));
-	nn.changed= XkbGeometryNameMask;
-	XkbSendNamesNotify(dev,&nn);
+        xkbNamesNotify	nn;
+        bzero(&nn,sizeof(xkbNamesNotify));
+        nn.changed= XkbGeometryNameMask;
+        XkbSendNamesNotify(dev,&nn);
     }
     nkn.deviceID= nkn.oldDeviceID= dev->id;
     nkn.minKeyCode= nkn.oldMinKeyCode= xkb->min_key_code;
@@ -5312,6 +5301,42 @@ ProcXkbSetGeometry(ClientPtr client)
     return Success;
 }
 
+int
+ProcXkbSetGeometry(ClientPtr client)
+{
+    DeviceIntPtr        dev;
+    int                 rc;
+
+    REQUEST(xkbSetGeometryReq);
+    REQUEST_AT_LEAST_SIZE(xkbSetGeometryReq);
+
+    if (!(client->xkbClientFlags&_XkbClientInitialized))
+	return BadAccess;
+
+    CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, DixManageAccess);
+    CHK_ATOM_OR_NONE(stuff->name);
+
+    rc = _XkbSetGeometry(client, dev, stuff);
+    if (rc != Success)
+        return rc;
+
+    if (stuff->deviceSpec == XkbUseCoreKbd)
+    {
+        DeviceIntPtr other;
+        for (other = inputInfo.devices; other; other = other->next)
+        {
+            if ((other != dev) && other->key && other->coreEvents)
+            {
+                rc = XaceHook(XACE_DEVICE_ACCESS, client, other, DixManageAccess);
+                if (rc == Success)
+                    _XkbSetGeometry(client, other, stuff);
+            }
+        }
+    }
+
+    return Success;
+}
+
 /***====================================================================***/
 
 int

commit 245fecf7cda8bf72da68882f367bf5211ab809c9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 1 16:41:08 2008 +0930

    xkb: ProcXkbSetNames should work on all attached SDs.
    
    If called with XkbUseCoreKbd, run through all attached SDs and replicate the
    call. This way, we keep the SDs in sync with the MD as long as core clients
    control the MDs.
    (cherry picked from commit 5ba87c3327786dd7c6e8e265a19c858e8faae8fd)

diff --git a/xkb/xkb.c b/xkb/xkb.c
index 710d7ed..81b2f92 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -3867,17 +3867,323 @@ char *	str;
     return True;
 }
 
-/* FIXME: Needs to set names on all core-sending devices. */
-int
-ProcXkbSetNames(ClientPtr client)
+/**
+ * Check the device-dependent data in the request against the device. Returns
+ * Success, or the appropriate error code.
+ */
+static int
+_XkbSetNamesCheck(ClientPtr client, DeviceIntPtr dev,
+                  xkbSetNamesReq *stuff, CARD32 *data)
 {
-    DeviceIntPtr	 dev;
     XkbDescRec		*xkb;
     XkbNamesRec		*names;
-    xkbNamesNotify	 nn;
     CARD32		*tmp;
     Atom		 bad;
 
+    tmp = data;
+    xkb = dev->key->xkbInfo->desc;
+    names = xkb->names;
+
+
+    if (stuff->which & XkbKeyTypeNamesMask) {
+        int i;
+        CARD32	*old;
+        if ( stuff->nTypes<1 ) {
+            client->errorValue = _XkbErrCode2(0x02,stuff->nTypes);
+            return BadValue;
+        }
+        if ((unsigned)(stuff->firstType+stuff->nTypes-1)>=xkb->map->num_types) {


Reply to: