comctl32/combo: Properly handle WM_CTLCOLOR* messages.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46417
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Fabian Maurer 2019-11-04 10:30:28 +03:00 committed by Alexandre Julliard
parent 2feab9b99d
commit 1dc3ec2cdc
2 changed files with 10 additions and 3 deletions

View File

@ -1963,6 +1963,16 @@ static LRESULT CALLBACK COMBO_WindowProc( HWND hwnd, UINT message, WPARAM wParam
if (GET_WHEEL_DELTA_WPARAM(wParam) < 0) return SendMessageW(hwnd, WM_KEYDOWN, VK_DOWN, 0);
return TRUE;
case WM_CTLCOLOR:
case WM_CTLCOLORMSGBOX:
case WM_CTLCOLOREDIT:
case WM_CTLCOLORLISTBOX:
case WM_CTLCOLORBTN:
case WM_CTLCOLORDLG:
case WM_CTLCOLORSCROLLBAR:
case WM_CTLCOLORSTATIC:
return SendMessageW(lphc->owner, message, wParam, lParam);
/* Combo messages */
case CB_ADDSTRING:
if (lphc->dwStyle & CBS_LOWERCASE)

View File

@ -1306,7 +1306,6 @@ static void test_combo_ctlcolor(void)
for (i = 0; i < ARRAY_SIZE(messages); ++i)
{
brush = (HBRUSH)SendMessageA(combo, messages[i], 0, (LPARAM)info.hwndItem);
todo_wine
ok(brush == brush_red, "%u: unexpected brush %p, expected got %p.\n", i, brush, brush_red);
}
@ -1317,7 +1316,6 @@ static void test_combo_ctlcolor(void)
for (i = 0; i < ARRAY_SIZE(messages); ++i)
{
brush = (HBRUSH)SendMessageA(combo, messages[i], 0, (LPARAM)info.hwndItem);
todo_wine
ok(!brush, "%u: unexpected brush %p.\n", i, brush);
}
@ -1344,7 +1342,6 @@ static void test_combo_ctlcolor(void)
for (i = 0; i < ARRAY_SIZE(messages); ++i)
{
brush = (HBRUSH)SendMessageA(combo, messages[i], 0, (LPARAM)info.hwndItem);
todo_wine
ok(!brush, "%u: unexpected brush %p.\n", i, brush);
}