[WIN32K]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 5 May 2012 22:50:47 +0000 (22:50 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 5 May 2012 22:50:47 +0000 (22:50 +0000)
Fix regression of gdi32_winetest palette

svn path=/trunk/; revision=56521

reactos/win32ss/gdi/ntgdi/dibobj.c

index 78eb3d8..b755dc3 100644 (file)
@@ -148,9 +148,12 @@ CreateDIBPalette(
             /* Loop all color indices in the DIB */
             for (i = 0; i < cColors; i++)
             {
-                /* Get the RGB value from the DC palette, indexed by the DIB
-                   color table value */
-                crColor = PALETTE_ulGetRGBColorFromIndex(ppalDC, pwColors[i]);
+                /* Get the palette index and handle wraparound when exceeding
+                   the number of colors in the DC palette */
+                WORD wIndex = pwColors[i] % ppalDC->NumColors;
+
+                /* USe the RGB value from the DC palette */
+                crColor = PALETTE_ulGetRGBColorFromIndex(ppalDC, wIndex);
                 PALETTE_vSetRGBColorForIndex(ppal, i, crColor);
             }
         }