=?UTF-8?Q?Gabriel=20Iv=C4=83ncescu=20?=: comctl32/listbox: Use ULONG_PTR instead of DWORD when retrieving text without HAS_STRINGS.

Alexandre Julliard julliard at winehq.org
Wed Nov 14 16:18:59 CST 2018


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

Author: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Date:   Wed Nov 14 12:00:16 2018 +0200

comctl32/listbox: Use ULONG_PTR instead of DWORD when retrieving text without HAS_STRINGS.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/comctl32/listbox.c       | 6 +++---
 dlls/comctl32/tests/listbox.c | 3 +--
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/dlls/comctl32/listbox.c b/dlls/comctl32/listbox.c
index 4a2df52..76b09aa 100644
--- a/dlls/comctl32/listbox.c
+++ b/dlls/comctl32/listbox.c
@@ -762,8 +762,8 @@ static LRESULT LISTBOX_GetText( LB_DESCR *descr, INT index, LPWSTR buffer, BOOL
     } else
     {
         if (buffer)
-            *((DWORD *)buffer) = *(DWORD *)&descr->items[index].data;
-        len = sizeof(DWORD);
+            *((ULONG_PTR *)buffer) = descr->items[index].data;
+        len = sizeof(ULONG_PTR);
     }
     return len;
 }
@@ -2653,7 +2653,7 @@ static LRESULT CALLBACK LISTBOX_WindowProc( HWND hwnd, UINT msg, WPARAM wParam,
             SetLastError(ERROR_INVALID_INDEX);
             return LB_ERR;
         }
-        if (!HAS_STRINGS(descr)) return sizeof(DWORD);
+        if (!HAS_STRINGS(descr)) return sizeof(ULONG_PTR);
         return strlenW( descr->items[wParam].str );
 
     case LB_GETCURSEL:
diff --git a/dlls/comctl32/tests/listbox.c b/dlls/comctl32/tests/listbox.c
index 6ac3c73..802dd98 100644
--- a/dlls/comctl32/tests/listbox.c
+++ b/dlls/comctl32/tests/listbox.c
@@ -2296,12 +2296,11 @@ static void test_LBS_NODATA(void)
         ret = SendMessageA(listbox, LB_SETITEMDATA, valid_idx[i], 42);
         ok(ret == TRUE, "Unexpected return value %d.\n", ret);
         ret = SendMessageA(listbox, LB_GETTEXTLEN, valid_idx[i], 0);
-    todo_wine_if(text_len == 8)
+    todo_wine_if(is_wow64)
         ok(ret == text_len, "Unexpected return value %d.\n", ret);
 
         memset(&data, 0xee, sizeof(data));
         ret = SendMessageA(listbox, LB_GETTEXT, valid_idx[i], (LPARAM)&data);
-    todo_wine_if(sizeof(void *) == 8)
         ok(ret == sizeof(data), "Unexpected return value %d.\n", ret);
     todo_wine
         ok(!memcmp(&data, &zero_data, sizeof(data)), "Unexpected item data.\n");




More information about the wine-cvs mailing list