[WIN32SS:GDI]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 3 Oct 2015 13:30:15 +0000 (13:30 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 3 Oct 2015 13:30:15 +0000 (13:30 +0000)
Convert COLOR16 values to byte range before calling XLATEOBJ_iXlate.
This fixes gradient colors in some applications, as for example in Code::Blocks.
Patch by Vort. This is a fix for code written in revision r8117, so old !!
CORE-8652 #comment Committed in r69430, thanks guys!

svn path=/trunk/; revision=69430

reactos/win32ss/gdi/eng/gradient.c

index 8ec2de7..626323b 100644 (file)
@@ -161,7 +161,7 @@ IntEngGradientFillRect(
     do
     {
         RECTL FillRect;
-        ULONG Color = XLATEOBJ_iXlate(pxlo, RGB(v1->Red, v1->Green, v1->Blue));
+        ULONG Color = XLATEOBJ_iXlate(pxlo, RGB(v1->Red >> 8, v1->Green >> 8, v1->Blue >> 8));
 
         EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
         for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)