From fbec0ba9eeb12cc153e1e4e0ca98734fe5bc593a Mon Sep 17 00:00:00 2001 From: Fabian Maurer Date: Mon, 4 Nov 2019 10:30:29 +0300 Subject: [PATCH] user32/combo: Properly handle WM_CTLCOLOR* messages. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/user32/combo.c | 12 ++++++++++++ dlls/user32/tests/combo.c | 2 -- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c index 59c2e6484c6..4ddccd6c95b 100644 --- a/dlls/user32/combo.c +++ b/dlls/user32/combo.c @@ -1988,6 +1988,18 @@ LRESULT ComboWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM lPar 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: + if (lphc->owner) + return SendMessageW(lphc->owner, message, wParam, lParam); + break; + /* Combo messages */ case CB_ADDSTRING: diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c index 289e1d3f56c..6b51ff9719a 100644 --- a/dlls/user32/tests/combo.c +++ b/dlls/user32/tests/combo.c @@ -854,7 +854,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); } @@ -865,7 +864,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); }