comctl32/listbox: Don't set any data for LBS_NODATA listboxes.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Gabriel Ivăncescu 2018-11-14 12:00:19 +02:00 committed by Alexandre Julliard
parent 1b17d8c09a
commit 19f26c35d5
2 changed files with 1 additions and 4 deletions

View File

@ -2638,7 +2638,7 @@ static LRESULT CALLBACK LISTBOX_WindowProc( HWND hwnd, UINT msg, WPARAM wParam,
SetLastError(ERROR_INVALID_INDEX);
return LB_ERR;
}
descr->items[wParam].data = lParam;
if (!(descr->style & LBS_NODATA)) descr->items[wParam].data = lParam;
/* undocumented: returns TRUE, not LB_OKAY (0) */
return TRUE;

View File

@ -2310,13 +2310,10 @@ static void test_LBS_NODATA(void)
/* More messages that don't work with LBS_NODATA. */
ret = SendMessageA(listbox, LB_FINDSTRING, 1, 42);
todo_wine
ok(ret == LB_ERR, "Unexpected return value %d.\n", ret);
ret = SendMessageA(listbox, LB_FINDSTRINGEXACT, 1, 42);
todo_wine
ok(ret == LB_ERR, "Unexpected return value %d.\n", ret);
ret = SendMessageA(listbox, LB_SELECTSTRING, 1, 42);
todo_wine
ok(ret == LB_ERR, "Unexpected return value %d.\n", ret);
DestroyWindow(listbox);