Commit c920b4dc authored by Gabriel Ivăncescu's avatar Gabriel Ivăncescu Committed by Alexandre Julliard

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

parent 0a5c360f
......@@ -799,8 +799,8 @@ static LRESULT LISTBOX_GetText( LB_DESCR *descr, INT index, LPWSTR buffer, BOOL
__ENDTRY
} else {
if (buffer)
*((LPDWORD)buffer)=*(LPDWORD)(&descr->items[index].data);
len = sizeof(DWORD);
*((ULONG_PTR *)buffer) = descr->items[index].data;
len = sizeof(ULONG_PTR);
}
return len;
}
......@@ -2707,7 +2707,7 @@ LRESULT ListBoxWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
SetLastError(ERROR_INVALID_INDEX);
return LB_ERR;
}
if (!HAS_STRINGS(descr)) return sizeof(DWORD);
if (!HAS_STRINGS(descr)) return sizeof(ULONG_PTR);
if (unicode) return strlenW( descr->items[wParam].str );
return WideCharToMultiByte( CP_ACP, 0, descr->items[wParam].str,
strlenW(descr->items[wParam].str), NULL, 0, NULL, NULL );
......
......@@ -2091,12 +2091,10 @@ 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(sizeof(void *) == 8)
ok(ret == sizeof(data), "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");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment