Module: wine Branch: master Commit: 13b376df73c7063ef2a6baf58d8cdfbb385fbf13 URL: http://source.winehq.org/git/wine.git/?a=commit;h=13b376df73c7063ef2a6baf58d...
Author: Peter Verthez peter.verthez@advalvas.be Date: Tue Aug 14 18:35:18 2007 +0200
user32: LB_SETITEMDATA should return 1 on success, not 0.
---
dlls/user32/listbox.c | 3 ++- dlls/user32/tests/listbox.c | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c index 166d176..f422531 100644 --- a/dlls/user32/listbox.c +++ b/dlls/user32/listbox.c @@ -2677,7 +2677,8 @@ static LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg, return LB_ERR; } descr->items[wParam].data = lParam; - return LB_OKAY; + /* undocumented: returns TRUE, not LB_OKAY (0) */ + return TRUE;
case LB_GETCOUNT16: case LB_GETCOUNT: diff --git a/dlls/user32/tests/listbox.c b/dlls/user32/tests/listbox.c index 125bd9d..663e37f 100644 --- a/dlls/user32/tests/listbox.c +++ b/dlls/user32/tests/listbox.c @@ -512,6 +512,27 @@ static void test_itemfrompoint(void) DestroyWindow( hList ); }
+static void test_listbox_item_data(void) +{ + HWND hList; + int r, id; + + hList = CreateWindow( "ListBox", "list test", 0, + 1, 1, 600, 100, NULL, NULL, NULL, NULL ); + ok( hList != NULL, "failed to create listbox\n"); + + id = SendMessage( hList, LB_ADDSTRING, 0, (LPARAM) "hi"); + ok( id == 0, "item id wrong\n"); + + r = SendMessage( hList, LB_SETITEMDATA, 0, MAKELPARAM( 20, 0 )); + ok(r == TRUE, "LB_SETITEMDATA returned %d instead of TRUE\n", r); + + r = SendMessage( hList, LB_GETITEMDATA, 0, 0); + ok( r == 20, "get item data failed\n"); + + DestroyWindow( hList ); +} + START_TEST(listbox) { const struct listbox_test SS = @@ -587,4 +608,5 @@ START_TEST(listbox) test_selection(); test_listbox_height(); test_itemfrompoint(); + test_listbox_item_data(); }