[USER32]
authorThomas Faber <thomas.faber@reactos.org>
Mon, 28 Mar 2016 14:58:20 +0000 (14:58 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Mon, 28 Mar 2016 14:58:20 +0000 (14:58 +0000)
- Fix is_dib_monochrome for bitmaps using BITMAPCOREINFO. Patch by Mark Jansen.
CORE-10889

svn path=/trunk/; revision=71063

reactos/win32ss/user/user32/windows/cursoricon.c

index e14c401..f5a17ac 100644 (file)
@@ -117,12 +117,12 @@ static int get_dib_image_size( int width, int height, int depth )
 
 static BOOL is_dib_monochrome( const BITMAPINFO* info )
 {
-    if (info->bmiHeader.biBitCount != 1) return FALSE;
-
     if (info->bmiHeader.biSize == sizeof(BITMAPCOREHEADER))
     {
         const RGBTRIPLE *rgb = ((const BITMAPCOREINFO*)info)->bmciColors;
 
+        if (((const BITMAPCOREINFO*)info)->bmciHeader.bcBitCount != 1) return FALSE;
+
         /* Check if the first color is black */
         if ((rgb->rgbtRed == 0) && (rgb->rgbtGreen == 0) && (rgb->rgbtBlue == 0))
         {
@@ -138,6 +138,8 @@ static BOOL is_dib_monochrome( const BITMAPINFO* info )
     {
         const RGBQUAD *rgb = info->bmiColors;
 
+        if (info->bmiHeader.biBitCount != 1) return FALSE;
+
         /* Check if the first color is black */
         if ((rgb->rgbRed == 0) && (rgb->rgbGreen == 0) &&
             (rgb->rgbBlue == 0) && (rgb->rgbReserved == 0))