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

Bug#495833: xserver-xorg-core: GTK+ 2.13.7/xrandr apps complain of BadImplementation X error with Debian X server as remote X



On Thu, Aug 21, 2008 at 11:43:44 +0200, Julien Cristau wrote:

> tag 495833 fixed-upstream
> kthxbye
> 
> On Wed, Aug 20, 2008 at 22:26:48 +0200, Julien Cristau wrote:
> 
> > See http://cgit.freedesktop.org/xorg/xserver/tree/randr/rrsdispatch.c:
> > many of the randr requests aren't wired up in the swapped case (which
> > you're hitting since your clients are on amd64 and the server on ppc).
> > 
> Should be fixed upstream now.  It at least allowed me to run "xrandr
> --verbose" on sparc against my (i386) X server.
> http://cgit.freedesktop.org/xorg/xserver/commit/?id=01264f17925005969c3b71ca945fc1014bcd8c8e
> 
I guess another option for lenny if the above patch is considered too
intrusive would be the following hack:

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);

This way XRRQueryVersion returns 1.1 for swapped clients, so they don't
try and send us RandR 1.2 requests that aren't implemented.

Cheers,
Julien



Reply to: