Alexandre Julliard : user32: Fix the string style check for comboboxes.

Alexandre Julliard julliard at winehq.org
Mon Dec 21 09:39:46 CST 2009


Module: wine
Branch: master
Commit: 8e1bd0c8931efe617586aef5a412d8e4e107685b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8e1bd0c8931efe617586aef5a412d8e4e107685b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Dec 21 11:29:14 2009 +0100

user32: Fix the string style check for comboboxes.

---

 dlls/user32/msg16.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/user32/msg16.c b/dlls/user32/msg16.c
index 5304a9d..b1cc938 100644
--- a/dlls/user32/msg16.c
+++ b/dlls/user32/msg16.c
@@ -2039,9 +2039,13 @@ static LRESULT combo_proc16( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
         wParam = (INT)(INT16)wParam;
         /* fall through */
     case CB_ADDSTRING16:
-        if (GetWindowLongW( hwnd, GWL_STYLE ) & CBS_HASSTRINGS) lParam = (LPARAM)MapSL(lParam);
+    {
+        DWORD style = GetWindowLongW( hwnd, GWL_STYLE );
+        if ((style & CBS_HASSTRINGS) || !(style & (CBS_OWNERDRAWFIXED | CBS_OWNERDRAWVARIABLE)))
+           lParam = (LPARAM)MapSL(lParam);
         msg -= msg16_offset;
         break;
+    }
     case CB_SETITEMHEIGHT16:
     case CB_GETITEMHEIGHT16:
     case CB_SETCURSEL16:




More information about the wine-cvs mailing list