What about the patch in that bug http://www.reactos.org/bugzilla/attachment.cgi?id=1568 :) ?
> Date: Fri, 4 Feb 2011 13:53:50 +0000
> To: ros-diffs@reactos.org
> From: tkreuzer@svn.reactos.org
> Subject: [ros-diffs] [tkreuzer] 50605: [WIN32K] Fix a bug in calculation of the background color for 32bpp -> 1bpp color translations. Fixes bug 2372
>
> Author: tkreuzer
> Date: Fri Feb 4 13:53:49 2011
> New Revision: 50605
>
> URL: http://svn.reactos.org/svn/reactos?rev=50605&view=rev
> Log:
> [WIN32K]
> Fix a bug in calculation of the background color for 32bpp -> 1bpp color translations.
> Fixes bug 2372
>
> Modified:
> trunk/reactos/subsystems/win32/win32k/eng/xlate.c
>
> Modified: trunk/reactos/subsystems/win32/win32k/eng/xlate.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/eng/xlate.c?rev=50605&r1=50604&r2=50605&view=diff
> ==============================================================================
> --- trunk/reactos/subsystems/win32/win32k/eng/xlate.c [iso-8859-1] (original)
> +++ trunk/reactos/subsystems/win32/win32k/eng/xlate.c [iso-8859-1] Fri Feb 4 13:53:49 2011
> @@ -91,7 +91,7 @@
> iColor >>= 13;
> iNewColor |= iColor & 0x3E0;
>
> - /* Copy green */
> + /* Copy blue */
> iColor >>= 13;
> iNewColor |= iColor & 0x1F;
>
> @@ -417,11 +417,11 @@
> pexlo->aulXlate[0] =
> PALETTE_ulGetNearestPaletteIndex(ppalSrc, crSrcBackColor);
> }
> + else if (ppalSrc->flFlags & PAL_RGB)
> + {
> + pexlo->aulXlate[0] = crSrcBackColor;
> + }
> else if (ppalSrc->flFlags & PAL_BGR)
> - {
> - pexlo->aulXlate[0] = crSrcBackColor;
> - }
> - else if (ppalSrc->flFlags & PAL_RGB)
> {
> pexlo->aulXlate[0] = RGB(GetBValue(crSrcBackColor),
> GetGValue(crSrcBackColor),
>
>