Sven Baars : gdi32/tests: Fix some test SetDIBitsToDevice RLE8 test failures on Windows 2008+.

Alexandre Julliard julliard at winehq.org
Wed Nov 20 16:49:12 CST 2019


Module: wine
Branch: master
Commit: 742249e91e71c7bdde799dfe560eee191f40b589
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=742249e91e71c7bdde799dfe560eee191f40b589

Author: Sven Baars <sven.wine at gmail.com>
Date:   Tue Nov 12 19:41:37 2019 +0100

gdi32/tests: Fix some test SetDIBitsToDevice RLE8 test failures on Windows 2008+.

Signed-off-by: Sven Baars <sven.wine at gmail.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdi32/tests/bitmap.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c
index d651765006..c1651b5a2b 100644
--- a/dlls/gdi32/tests/bitmap.c
+++ b/dlls/gdi32/tests/bitmap.c
@@ -5532,14 +5532,23 @@ static void test_SetDIBitsToDevice_RLE8(void)
     info->bmiHeader.biWidth = 2;
     ret = SetDIBitsToDevice( hdc, 0, 0, 8, 8, 0, 0, 0, 8, rle8_data, info, DIB_RGB_COLORS );
     ok( ret == 8, "got %d\n", ret );
-    for (i = 0; i < 64; i++) ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] );
+    if (dib_bits[0] == 0xaaaaaaaa)
+    {
+        win_skip("SetDIBitsToDevice is broken on Windows 2008.\n");
+        goto cleanup;
+    }
+    for (i = 0; i < 64; i += 8)
+    {
+        ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] );
+        ok( dib_bits[i+1] == bottom_up[i+1], "%d: got %08x\n", i+1, dib_bits[i+1] );
+    }
     memset( dib_bits, 0xaa, 64 * 4 );
 
     info->bmiHeader.biWidth  = 8;
     info->bmiHeader.biHeight = 2;
     ret = SetDIBitsToDevice( hdc, 0, 0, 8, 8, 0, 0, 0, 8, rle8_data, info, DIB_RGB_COLORS );
     ok( ret == 2, "got %d\n", ret );
-    for (i = 0; i < 64; i++) ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] );
+    for (i = 0; i < 16; i++) ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] );
     memset( dib_bits, 0xaa, 64 * 4 );
 
     info->bmiHeader.biHeight = 9;
@@ -5671,6 +5680,7 @@ static void test_SetDIBitsToDevice_RLE8(void)
     for (i = 40; i < 64; i++) ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] );
     memset( dib_bits, 0xaa, 64 * 4 );
 
+cleanup:
     DeleteDC( hdc );
     DeleteObject( dib );
     HeapFree( GetProcessHeap(), 0, info );




More information about the wine-cvs mailing list