On Wed, Nov 10, 2010 at 13:16:48 +0100, Nicolai Stange wrote: > Hi everybody, > > after installing gtk-engines the problem occured again (and thus, the > opensolaris patches Alan pointed me to did not solve the problem). > > However I did some further investigation with xscope and gdb and tracked > it down. The setup the problem occurs in: I'm running mozilla on > Solaris10/SPARC with gtk-engines (clearlooks) through 'ssh -X' with a > local X server on Linux/x86_64 (Debian Lenny). > > It is actually a problem with the xorg-server. When s client calls > XRenderCreateLinearGradient on SPARC, this request and a following > GetInputFocus get transmitted properly (MSB first) over the wire. The > xorg-server on Linux/x86_64 then converts the big endian request to > little endian and while doing so, it errorneously overwrites the > following GetInputFocus-request. > The problem is in render.c: > static void swapStops(void *stuff, int num) > { > int i, n; > CARD32 *stops; > CARD16 *colors; > stops = (CARD32 *)(stuff); > for (i = 0; i < num; ++i) { > swapl(stops, n); > ++stops; > } > colors = (CARD16 *)(stops); > for (i = 0; i < 4*num; ++i) { > swaps(stops, n); > ++stops; > } > } > > When converting the colors, not stops but colors should be incremented: > static void swapStops(void *stuff, int num) > { > int i, n; > CARD32 *stops; > CARD16 *colors; > stops = (CARD32 *)(stuff); > for (i = 0; i < num; ++i) { > swapl(stops, n); > ++stops; > } > colors = (CARD16 *)(stops); > for (i = 0; i < 4*num; ++i) { > swaps(colors, n); > ++colors; > } > } > Fix is also at http://patchwork.freedesktop.org/patch/2521/ so will hopefully get applied soon.
[...] > swapStops overwrites the majorop-Field of the GetInputFocus-Request, > resulting in Request- and Length-errors. > May I expect this to get fixed in 1.7.x, that is Debian, too? > I'll get the fix into the 1.7 branch (and Debian) when it's upstream in master, thanks! Cheers, Julien _______________________________________________ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com