comctl32/listview: LVM_SETITEM is unsupported on LVS_OWNERDATA.
This commit is contained in:
parent
5a6f956187
commit
949e9043b9
|
@ -10010,10 +10010,11 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
/* case LVM_SETINSERTMARKCOLOR: */
|
/* case LVM_SETINSERTMARKCOLOR: */
|
||||||
|
|
||||||
case LVM_SETITEMA:
|
case LVM_SETITEMA:
|
||||||
return LISTVIEW_SetItemT(infoPtr, (LPLVITEMW)lParam, FALSE);
|
|
||||||
|
|
||||||
case LVM_SETITEMW:
|
case LVM_SETITEMW:
|
||||||
return LISTVIEW_SetItemT(infoPtr, (LPLVITEMW)lParam, TRUE);
|
{
|
||||||
|
if (infoPtr->dwStyle & LVS_OWNERDATA) return FALSE;
|
||||||
|
return LISTVIEW_SetItemT(infoPtr, (LPLVITEMW)lParam, (uMsg == LVM_SETITEMW));
|
||||||
|
}
|
||||||
|
|
||||||
case LVM_SETITEMCOUNT:
|
case LVM_SETITEMCOUNT:
|
||||||
return LISTVIEW_SetItemCount(infoPtr, (INT)wParam, (DWORD)lParam);
|
return LISTVIEW_SetItemCount(infoPtr, (INT)wParam, (DWORD)lParam);
|
||||||
|
|
|
@ -1651,6 +1651,24 @@ static void test_ownerdata(void)
|
||||||
expect(TRUE, res);
|
expect(TRUE, res);
|
||||||
res = SendMessageA(hwnd, LVM_GETSELECTEDCOUNT, 0, 0);
|
res = SendMessageA(hwnd, LVM_GETSELECTEDCOUNT, 0, 0);
|
||||||
expect(1, res);
|
expect(1, res);
|
||||||
|
res = SendMessageA(hwnd, LVM_GETITEMCOUNT, 0, 0);
|
||||||
|
expect(1, res);
|
||||||
|
DestroyWindow(hwnd);
|
||||||
|
|
||||||
|
/* LVM_SETITEM is unsupported on LVS_OWNERDATA */
|
||||||
|
hwnd = create_listview_control(LVS_OWNERDATA);
|
||||||
|
ok(hwnd != NULL, "failed to create a listview window\n");
|
||||||
|
res = SendMessageA(hwnd, LVM_SETITEMCOUNT, 1, 0);
|
||||||
|
ok(res != 0, "Expected LVM_SETITEMCOUNT to succeed\n");
|
||||||
|
res = SendMessageA(hwnd, LVM_GETITEMCOUNT, 0, 0);
|
||||||
|
expect(1, res);
|
||||||
|
memset(&item, 0, sizeof(item));
|
||||||
|
item.mask = LVIF_STATE;
|
||||||
|
item.iItem = 0;
|
||||||
|
item.stateMask = LVIS_SELECTED;
|
||||||
|
item.state = LVIS_SELECTED;
|
||||||
|
res = SendMessageA(hwnd, LVM_SETITEM, 0, (LPARAM)&item);
|
||||||
|
expect(FALSE, res);
|
||||||
DestroyWindow(hwnd);
|
DestroyWindow(hwnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue