Signed-off-by: Fabian Maurer dark.shadow4@web.de --- dlls/user32/tests/cursoricon.c | 84 ++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+)
diff --git a/dlls/user32/tests/cursoricon.c b/dlls/user32/tests/cursoricon.c index 33ca2e3cb63..1f9a81e6d0a 100644 --- a/dlls/user32/tests/cursoricon.c +++ b/dlls/user32/tests/cursoricon.c @@ -3096,6 +3096,89 @@ static void test_copy_image(void) } }
+/* The test the logic for the same function in user32 */ +static HBITMAP create_masked_bitmap( int width, int height, const void *and, const void *xor ) +{ + HDC dc = CreateCompatibleDC( 0 ); + HBITMAP bitmap; + int line_size = width/8; + const char* and2 = (const char*)and; + const char* xor2 = (const char*)xor; + char buffer[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 2] = {0}; + + BITMAPINFO *bitmap_info = (BITMAPINFO*)buffer; + bitmap_info->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + bitmap_info->bmiHeader.biWidth = width; + bitmap_info->bmiHeader.biHeight = height * 2; + bitmap_info->bmiHeader.biPlanes = 1; + bitmap_info->bmiHeader.biBitCount = 1; + bitmap_info->bmiColors[1].rgbRed = 255; + bitmap_info->bmiColors[1].rgbGreen = 255; + bitmap_info->bmiColors[1].rgbBlue = 255; + + bitmap = CreateBitmap( width, height * 2, 1, 1, NULL ); + + for (int i = 0; i < height; i++) + { + SetDIBits( dc, bitmap, height - i - 1, 1, &xor2[i*line_size], bitmap_info, FALSE ); + SetDIBits( dc, bitmap, 2*height - i - 1, 1, &and2[i*line_size], bitmap_info, FALSE ); + } + DeleteDC( dc ); + return bitmap; +} + +static void check_monochrome_icon(HICON icon, int draw_flag, int line, BOOL todo) +{ + HDC dc = CreateCompatibleDC(0); + HBITMAP canvas = CreateCompatibleBitmap(dc, 32, 32); + + SelectObject(dc, canvas); + + DrawIconEx(dc, 0, 0, icon, 16, 16, 0, NULL, draw_flag); + + for (int i = 0; i < 16; i++) + { + COLORREF color = GetPixel(dc, i, 8); + int expect = i % 2 == 0 ? 0 : 0xFFFFFF; + todo_wine_if(todo && (i%2 != 0)) + ok_(__FILE__,line)(color == expect, "At index %d got %x\n", i, color); + } + DeleteObject(canvas); + DeleteDC(dc); +} + +static void test_monochrome_icon_creation(void) +{ + HCURSOR cursor; + HICON icon; + ICONINFO iconinfo = {0}; + static const unsigned char monochrome_bits[] = + { + 0xFF, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x55, 0x55, 0x00, 0x00, 0xAA, 0xAA, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0xAA, 0xAA, 0x00, 0x00, + 0x55, 0x55, 0x00, 0x00, 0xAA, 0xAA, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + }; + + iconinfo.fIcon = 1; + iconinfo.hbmMask = create_masked_bitmap(16, 16, monochrome_bits, &monochrome_bits[32]); + + cursor = CreateCursor(0, 8, 8, 16, 16, monochrome_bits, &monochrome_bits[32]); + ok(cursor != NULL, "CreateCursor failed\n"); + check_monochrome_icon(cursor, DI_NORMAL, __LINE__, TRUE); + DestroyCursor(cursor); + + icon = CreateIcon(0, 16, 16, 1, 1, monochrome_bits, &monochrome_bits[32]); + ok(icon != NULL, "CreateIcon failed\n"); + check_monochrome_icon(icon, DI_NORMAL, __LINE__, TRUE); + DestroyIcon(icon); + + icon = CreateIconIndirect(&iconinfo); + ok(icon != NULL, "CreateIconIndirect failed\n"); + check_monochrome_icon(icon, DI_NORMAL, __LINE__, FALSE); + DestroyIcon(icon); +} + START_TEST(cursoricon) { pGetCursorInfo = (void *)GetProcAddress( GetModuleHandleA("user32.dll"), "GetCursorInfo" ); @@ -3132,6 +3215,7 @@ START_TEST(cursoricon) test_DestroyCursor(); test_PrivateExtractIcons(); test_monochrome_icon(); + test_monochrome_icon_creation(); do_parent(); test_child_process(); finish_child_process(); -- 2.33.0
This fixes a regression from db2b266c57b73e1a16785213ce923b749c84400e.
The same function is already used and tested in the previous patch.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51296 Signed-off-by: Fabian Maurer dark.shadow4@web.de --- dlls/user32/cursoricon.c | 24 +++++++++++++----------- dlls/user32/tests/cursoricon.c | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c index dc831db9287..cc7219f39d0 100644 --- a/dlls/user32/cursoricon.c +++ b/dlls/user32/cursoricon.c @@ -1559,19 +1559,21 @@ static HBITMAP create_masked_bitmap( int width, int height, const void *and, con { HDC dc = CreateCompatibleDC( 0 ); HBITMAP bitmap; - - const BITMAPINFO bitmap_info = - { - .bmiHeader.biSize = sizeof(BITMAPINFOHEADER), - .bmiHeader.biWidth = width, - .bmiHeader.biHeight = height * 2, - .bmiHeader.biPlanes = 1, - .bmiHeader.biBitCount = 1, - }; + char buffer[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 2] = {0}; + + BITMAPINFO *bitmap_info = (BITMAPINFO*)buffer; + bitmap_info->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + bitmap_info->bmiHeader.biWidth = width; + bitmap_info->bmiHeader.biHeight = height * 2; + bitmap_info->bmiHeader.biPlanes = 1; + bitmap_info->bmiHeader.biBitCount = 1; + bitmap_info->bmiColors[1].rgbRed = 255; + bitmap_info->bmiColors[1].rgbGreen = 255; + bitmap_info->bmiColors[1].rgbBlue = 255;
bitmap = CreateBitmap( width, height * 2, 1, 1, NULL ); - SetDIBits( dc, bitmap, 0, height, and, &bitmap_info, FALSE ); - SetDIBits( dc, bitmap, height, height, xor, &bitmap_info, FALSE ); + SetDIBits( dc, bitmap, 0, height, and, bitmap_info, FALSE ); + SetDIBits( dc, bitmap, height, height, xor, bitmap_info, FALSE ); DeleteDC( dc ); return bitmap; } diff --git a/dlls/user32/tests/cursoricon.c b/dlls/user32/tests/cursoricon.c index 1f9a81e6d0a..68e4f5320ff 100644 --- a/dlls/user32/tests/cursoricon.c +++ b/dlls/user32/tests/cursoricon.c @@ -3140,7 +3140,7 @@ static void check_monochrome_icon(HICON icon, int draw_flag, int line, BOOL todo { COLORREF color = GetPixel(dc, i, 8); int expect = i % 2 == 0 ? 0 : 0xFFFFFF; - todo_wine_if(todo && (i%2 != 0)) + todo_wine_if(todo && (i%2 != 1)) ok_(__FILE__,line)(color == expect, "At index %d got %x\n", i, color); } DeleteObject(canvas); -- 2.33.0
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=97741
Your paranoid android.
=== w1064v1507 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1809 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1507 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1809 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064_2qxl (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_ar (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_he (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_ja (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_zh_CN (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
This is needed because we need to write bottom to top, and to avoid issues with line padding.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51296 Signed-off-by: Fabian Maurer dark.shadow4@web.de --- dlls/user32/cursoricon.c | 11 +++++++++-- dlls/user32/tests/cursoricon.c | 9 ++++----- 2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c index cc7219f39d0..acd50724523 100644 --- a/dlls/user32/cursoricon.c +++ b/dlls/user32/cursoricon.c @@ -1559,6 +1559,9 @@ static HBITMAP create_masked_bitmap( int width, int height, const void *and, con { HDC dc = CreateCompatibleDC( 0 ); HBITMAP bitmap; + int line_size = width/8; + const char* and2 = (const char*)and; + const char* xor2 = (const char*)xor; char buffer[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 2] = {0};
BITMAPINFO *bitmap_info = (BITMAPINFO*)buffer; @@ -1572,8 +1575,12 @@ static HBITMAP create_masked_bitmap( int width, int height, const void *and, con bitmap_info->bmiColors[1].rgbBlue = 255;
bitmap = CreateBitmap( width, height * 2, 1, 1, NULL ); - SetDIBits( dc, bitmap, 0, height, and, bitmap_info, FALSE ); - SetDIBits( dc, bitmap, height, height, xor, bitmap_info, FALSE ); + + for (int i = 0; i < height; i++) + { + SetDIBits( dc, bitmap, height - i - 1, 1, &xor2[i*line_size], bitmap_info, FALSE ); + SetDIBits( dc, bitmap, 2*height - i - 1, 1, &and2[i*line_size], bitmap_info, FALSE ); + } DeleteDC( dc ); return bitmap; } diff --git a/dlls/user32/tests/cursoricon.c b/dlls/user32/tests/cursoricon.c index 68e4f5320ff..31411bab330 100644 --- a/dlls/user32/tests/cursoricon.c +++ b/dlls/user32/tests/cursoricon.c @@ -3127,7 +3127,7 @@ static HBITMAP create_masked_bitmap( int width, int height, const void *and, con return bitmap; }
-static void check_monochrome_icon(HICON icon, int draw_flag, int line, BOOL todo) +static void check_monochrome_icon(HICON icon, int draw_flag, int line) { HDC dc = CreateCompatibleDC(0); HBITMAP canvas = CreateCompatibleBitmap(dc, 32, 32); @@ -3140,7 +3140,6 @@ static void check_monochrome_icon(HICON icon, int draw_flag, int line, BOOL todo { COLORREF color = GetPixel(dc, i, 8); int expect = i % 2 == 0 ? 0 : 0xFFFFFF; - todo_wine_if(todo && (i%2 != 1)) ok_(__FILE__,line)(color == expect, "At index %d got %x\n", i, color); } DeleteObject(canvas); @@ -3165,17 +3164,17 @@ static void test_monochrome_icon_creation(void)
cursor = CreateCursor(0, 8, 8, 16, 16, monochrome_bits, &monochrome_bits[32]); ok(cursor != NULL, "CreateCursor failed\n"); - check_monochrome_icon(cursor, DI_NORMAL, __LINE__, TRUE); + check_monochrome_icon(cursor, DI_NORMAL, __LINE__); DestroyCursor(cursor);
icon = CreateIcon(0, 16, 16, 1, 1, monochrome_bits, &monochrome_bits[32]); ok(icon != NULL, "CreateIcon failed\n"); - check_monochrome_icon(icon, DI_NORMAL, __LINE__, TRUE); + check_monochrome_icon(icon, DI_NORMAL, __LINE__); DestroyIcon(icon);
icon = CreateIconIndirect(&iconinfo); ok(icon != NULL, "CreateIconIndirect failed\n"); - check_monochrome_icon(icon, DI_NORMAL, __LINE__, FALSE); + check_monochrome_icon(icon, DI_NORMAL, __LINE__); DestroyIcon(icon); }
-- 2.33.0
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=97743
Your paranoid android.
=== w1064v1507 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1809 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1507 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1809 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064_2qxl (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_ar (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_he (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_ja (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_zh_CN (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== debiant2 (32 bit WoW report) ===
user32: win.c:10383: Test failed: Expected foreground window 00150128, got 00E400F2 win.c:10385: Test failed: GetActiveWindow() = 00000000 win.c:10385: Test failed: GetFocus() = 00000000 win.c:10386: Test failed: Received WM_ACTIVATEAPP(1), did not expect it. win.c:10387: Test failed: Received WM_ACTIVATEAPP(0), did not expect it. win.c:10395: Test failed: Expected foreground window 00150128, got 00000000 win.c:10397: Test failed: GetActiveWindow() = 00000000 win.c:10397: Test failed: GetFocus() = 00000000 win.c:10405: Test failed: Received WM_ACTIVATEAPP(1), did not expect it.
Any news on this?
Regards, Fabian Maurer
Fabian Maurer dark.shadow4@web.de writes:
Any news on this?
If we have to do that sort of thing, I think it shows that using a DIB was not the right choice here.
On Dienstag, 12. Oktober 2021 21:10:55 CEST you wrote:
Fabian Maurer dark.shadow4@web.de writes:
Any news on this?
If we have to do that sort of thing, I think it shows that using a DIB was not the right choice here.
Not sure I understand, we need a bitmap as a cursor icon, no? What am I missing here?
Regards, Fabian Maurer
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=97740
Your paranoid android.
=== w1064v1507 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1809 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64 (32 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1507 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064v1809 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w1064_2qxl (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64 (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_ar (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_he (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_ja (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info
=== w10pro64_zh_CN (64 bit report) ===
user32: cursoricon.c:2508: Test failed: cursor not shown in info cursoricon.c:2532: Test failed: cursor not shown in info cursoricon.c:2585: Test failed: cursor not shown in info cursoricon.c:2597: Test failed: cursor not shown in info