From c980edc2270d70a3378df4561c2494e80512f222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= Date: Thu, 15 Nov 2018 11:46:19 +0200 Subject: [PATCH] user32/listbox: Always retrieve zeros in LB_GETTEXT for LBS_NODATA listboxes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gabriel Ivăncescu Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/user32/listbox.c | 3 ++- dlls/user32/tests/listbox.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c index 574629349cd..044d73dd5d3 100644 --- a/dlls/user32/listbox.c +++ b/dlls/user32/listbox.c @@ -799,7 +799,8 @@ static LRESULT LISTBOX_GetText( LB_DESCR *descr, INT index, LPWSTR buffer, BOOL __ENDTRY } else { if (buffer) - *((ULONG_PTR *)buffer) = descr->items[index].data; + *((ULONG_PTR *)buffer) = (descr->style & LBS_NODATA) + ? 0 : descr->items[index].data; len = sizeof(ULONG_PTR); } return len; diff --git a/dlls/user32/tests/listbox.c b/dlls/user32/tests/listbox.c index 658893a94df..3c3de716953 100644 --- a/dlls/user32/tests/listbox.c +++ b/dlls/user32/tests/listbox.c @@ -2096,7 +2096,6 @@ static void test_LBS_NODATA(void) memset(&data, 0xee, sizeof(data)); ret = SendMessageA(listbox, LB_GETTEXT, valid_idx[i], (LPARAM)&data); ok(ret == sizeof(data), "Unexpected return value %d.\n", ret); - todo_wine ok(!memcmp(&data, &zero_data, sizeof(data)), "Unexpected item data.\n"); ret = SendMessageA(listbox, LB_GETITEMDATA, valid_idx[i], 0);