[PATCH 0/4] MR7648: user32/tests: Add some tests for current selection with LBS_NOSEL.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7648
From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/user32/tests/listbox.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/dlls/user32/tests/listbox.c b/dlls/user32/tests/listbox.c index 747e3dae192..3adaaa0999e 100644 --- a/dlls/user32/tests/listbox.c +++ b/dlls/user32/tests/listbox.c @@ -618,6 +618,38 @@ static void test_LB_SETCURSEL(void) ok(ret == -1, "Unexpected anchor index %d.\n", ret); DestroyWindow(hLB); + + /* LBS_NOSEL */ + hLB = create_listbox(LBS_NOSEL, 0); + ok(hLB != NULL, "Failed to create ListBox window.\n"); + + ret = SendMessageA(hLB, LB_GETCURSEL, 0, 0); + ok(ret == -1, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETSEL, 0, 0); + ok(!ret, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_SETCURSEL, 2, 0); + todo_wine + ok(ret == 2, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETSEL, 2, 0); + ok(ret == 1, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETCURSEL, 0, 0); + ok(ret == 2, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_SETCURSEL, 3, 0); + todo_wine + ok(ret == 3, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETSEL, 3, 0); + ok(ret == 1, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETCURSEL, 0, 0); + ok(ret == 3, "Unexpected return value %d.\n", ret); + + DestroyWindow(hLB); } static void test_LB_SETSEL(void) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7648
From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/comctl32/tests/listbox.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/dlls/comctl32/tests/listbox.c b/dlls/comctl32/tests/listbox.c index 399df20cb6d..9993031fb5f 100644 --- a/dlls/comctl32/tests/listbox.c +++ b/dlls/comctl32/tests/listbox.c @@ -751,6 +751,39 @@ static void test_LB_SETCURSEL(void) ok(ret == -1, "Unexpected anchor index %d.\n", ret); DestroyWindow(hLB); + + /* LBS_NOSEL */ + hLB = create_listbox(LBS_NOSEL, 0); + ok(hLB != NULL, "Failed to create ListBox window.\n"); + + ret = SendMessageA(hLB, LB_GETCURSEL, 0, 0); + ok(ret == -1, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETSEL, 0, 0); + ok(!ret, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_SETCURSEL, 2, 0); + todo_wine + ok(ret == 2, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETSEL, 2, 0); + ok(ret == 1, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETCURSEL, 0, 0); + ok(ret == 2, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_SETCURSEL, 3, 0); + todo_wine + ok(ret == 3, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETSEL, 3, 0); + ok(ret == 1, "Unexpected return value %d.\n", ret); + + ret = SendMessageA(hLB, LB_GETCURSEL, 0, 0); + ok(ret == 3, "Unexpected return value %d.\n", ret); + + DestroyWindow(hLB); + DestroyWindow(parent); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7648
From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/user32/listbox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c index 9d6ad8a3c75..c7e9fd783ec 100644 --- a/dlls/user32/listbox.c +++ b/dlls/user32/listbox.c @@ -608,7 +608,7 @@ static void LISTBOX_PaintItem( LB_DESCR *descr, HDC hdc, const RECT *rect, if (index < descr->nb_items) { item_str = get_item_string(descr, index); - selected = is_item_selected(descr, index); + selected = !(descr->style & LBS_NOSEL) && is_item_selected(descr, index); } focused = !ignoreFocus && descr->focus_item == index && descr->caret_on && descr->in_focus; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7648
From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/comctl32/listbox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/comctl32/listbox.c b/dlls/comctl32/listbox.c index 951b85856aa..bb37af8f10e 100644 --- a/dlls/comctl32/listbox.c +++ b/dlls/comctl32/listbox.c @@ -610,7 +610,7 @@ static void LISTBOX_PaintItem( LB_DESCR *descr, HDC hdc, const RECT *rect, if (index < descr->nb_items) { item_str = get_item_string(descr, index); - selected = is_item_selected(descr, index); + selected = !(descr->style & LBS_NOSEL) && is_item_selected(descr, index); } focused = !ignoreFocus && descr->focus_item == index && descr->caret_on && descr->in_focus; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7648
This merge request was approved by Zhiyi Zhang. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7648
participants (3)
-
Nikolay Sivov -
Nikolay Sivov (@nsivov) -
Zhiyi Zhang (@zhiyi)