Fabian Maurer : comctl32/combo: Properly handle WM_CTLCOLOR* messages.

Alexandre Julliard julliard at winehq.org
Mon Apr 20 15:01:50 CDT 2020


Module: wine
Branch: oldstable
Commit: bfda873b381b0ef3bc242714a80dc945a0ef85ff
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=bfda873b381b0ef3bc242714a80dc945a0ef85ff

Author: Fabian Maurer <dark.shadow4 at web.de>
Date:   Mon Nov  4 10:30:28 2019 +0300

comctl32/combo: Properly handle WM_CTLCOLOR* messages.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46417
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 1dc3ec2cdc83da0c1cab96f2dc61b2c917fd1e29)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 dlls/comctl32/combo.c       | 10 ++++++++++
 dlls/comctl32/tests/combo.c |  3 ---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/dlls/comctl32/combo.c b/dlls/comctl32/combo.c
index 12ea7bbff6..ca3a11cba8 100644
--- a/dlls/comctl32/combo.c
+++ b/dlls/comctl32/combo.c
@@ -1964,6 +1964,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)
diff --git a/dlls/comctl32/tests/combo.c b/dlls/comctl32/tests/combo.c
index be4ee53c22..4757fa3cc6 100644
--- a/dlls/comctl32/tests/combo.c
+++ b/dlls/comctl32/tests/combo.c
@@ -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);
     }
 




More information about the wine-cvs mailing list