Module: wine Branch: master Commit: 93349f02adf41e549f219af411447dd527eb4852 URL: http://source.winehq.org/git/wine.git/?a=commit;h=93349f02adf41e549f219af411...
Author: Huw Davies huw@codeweavers.com Date: Wed May 11 15:13:40 2011 +0100
gdi32: Initialise the bit fields even in the BI_RGB case in order to make format comparisons easier.
---
dlls/gdi32/dibdrv/dc.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/gdi32/dibdrv/dc.c b/dlls/gdi32/dibdrv/dc.c index 5273b29..e43ec15 100644 --- a/dlls/gdi32/dibdrv/dc.c +++ b/dlls/gdi32/dibdrv/dc.c @@ -76,6 +76,8 @@ static void init_bit_fields(dib_info *dib, const DWORD *bit_fields)
static BOOL init_dib(dib_info *dib, const BITMAPINFOHEADER *bi, const DWORD *bit_fields, void *bits) { + static const DWORD bit_fields_888[3] = {0xff0000, 0x00ff00, 0x0000ff}; + dib->bit_count = bi->biBitCount; dib->width = bi->biWidth; dib->height = bi->biHeight; @@ -99,15 +101,14 @@ static BOOL init_dib(dib_info *dib, const BITMAPINFOHEADER *bi, const DWORD *bit { case 32: if(bi->biCompression == BI_RGB) + bit_fields = bit_fields_888; + + init_bit_fields(dib, bit_fields); + + if(dib->red_mask == 0xff0000 && dib->green_mask == 0x00ff00 && dib->blue_mask == 0x0000ff) dib->funcs = &funcs_8888; else - { - init_bit_fields(dib, bit_fields); - if(dib->red_mask == 0xff0000 && dib->green_mask == 0x00ff00 && dib->blue_mask == 0x0000ff) - dib->funcs = &funcs_8888; - else - dib->funcs = &funcs_32; - } + dib->funcs = &funcs_32; break;
default: