[RESEND 4/4] user32/combo: Properly handle WM_CTLCOLOR*

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


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

diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index 59c2e6484c..50f41e619e 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -2165,6 +2165,15 @@ LRESULT ComboWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM lPar
 		if( lphc->wState & CBF_EDIT )
 			return SendMessageW(lphc->hWndEdit, EM_LIMITTEXT, wParam, lParam);
 		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",
diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c
index 41edd746e1..cea4351094 100644
--- a/dlls/user32/tests/combo.c
+++ b/dlls/user32/tests/combo.c
@@ -837,35 +837,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