diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c index 0122f928ba8..912adb716d0 100644 --- a/dlls/user32/listbox.c +++ b/dlls/user32/listbox.c @@ -1839,6 +1839,8 @@ static LRESULT LISTBOX_SetCount( LB_DESCR *descr, UINT count ) if (!resize_storage(descr, count)) return LB_ERRSPACE; descr->nb_items = count; + if (descr->style & LBS_NOREDRAW) + descr->style |= LBS_DISPLAYCHANGED; if (count) { diff --git a/dlls/user32/tests/listbox.c b/dlls/user32/tests/listbox.c index 7d0ae5a2157..7817d623134 100644 --- a/dlls/user32/tests/listbox.c +++ b/dlls/user32/tests/listbox.c @@ -447,7 +447,6 @@ static void test_ownerdraw(void) got_drawitem = 0; ret = RedrawWindow(hLB, NULL, 0, RDW_UPDATENOW); ok(ret, "RedrawWindow failed\n"); - todo_wine_if(testcase[i].message == LB_SETCOUNT) ok(got_drawitem == testcase[i].drawitem, "expected %u, got %u\n", testcase[i].drawitem, got_drawitem); DestroyWindow(hLB);