[RESEND 2/4] comctl32/combo: Properly handle WM_CTLCOLOR*

Fabian Maurer dark.shadow4 at web.de
Fri Nov 1 08:35:34 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=46417
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
 dlls/comctl32/combo.c       | 10 ++++++++++
 dlls/comctl32/tests/combo.c |  8 --------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/dlls/comctl32/combo.c b/dlls/comctl32/combo.c
index 8a52a0bdc0..6c7a22b8b4 100644
--- a/dlls/comctl32/combo.c
+++ b/dlls/comctl32/combo.c
@@ -2137,6 +2137,16 @@ static LRESULT CALLBACK COMBO_WindowProc( HWND hwnd, UINT message, WPARAM wParam
         lphc->visibleItems = (INT)wParam;
         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);
+
     default:
         if (message >= WM_USER)
             WARN("unknown msg WM_USER+%04x wp=%04lx lp=%08lx\n", message - WM_USER, wParam, lParam );
diff --git a/dlls/comctl32/tests/combo.c b/dlls/comctl32/tests/combo.c
index b4130139dd..2b2c7a45b9 100644
--- a/dlls/comctl32/tests/combo.c
+++ b/dlls/comctl32/tests/combo.c
@@ -1290,35 +1290,27 @@ static void test_color_messages(void)
     lparam_for_WM_CTLCOLOR = info.hwndItem;

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLOR, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLORMSGBOX, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLOREDIT, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLORLISTBOX, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLORBTN, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLORDLG, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLORSCROLLBAR, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     brush = (HBRUSH)SendMessageA(handle_combo, WM_CTLCOLORSTATIC, 0, (LPARAM)info.hwndItem);
-    todo_wine
     ok(brush == brush_red, "Expected %p, got %p\n", brush_red, brush);

     lparam_for_WM_CTLCOLOR = 0;
--
2.23.0




More information about the wine-devel mailing list