comctl32/listview: Set LVIS_FOCUSED for all items with LVM_SETITEMSTATE not allowed.
This commit is contained in:
parent
440218cfde
commit
092263f051
|
@ -8108,6 +8108,9 @@ static BOOL LISTVIEW_SetItemState(LISTVIEW_INFO *infoPtr, INT nItem, const LVITE
|
||||||
if ((lvItem.state & lvItem.stateMask & LVIS_SELECTED) && (infoPtr->dwStyle & LVS_SINGLESEL))
|
if ((lvItem.state & lvItem.stateMask & LVIS_SELECTED) && (infoPtr->dwStyle & LVS_SINGLESEL))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/* focus all isn't allowed */
|
||||||
|
if (lvItem.state & lvItem.stateMask & LVIS_FOCUSED) return FALSE;
|
||||||
|
|
||||||
/* apply to all items */
|
/* apply to all items */
|
||||||
for (lvItem.iItem = 0; lvItem.iItem < infoPtr->nItemCount; lvItem.iItem++)
|
for (lvItem.iItem = 0; lvItem.iItem < infoPtr->nItemCount; lvItem.iItem++)
|
||||||
if (!LISTVIEW_SetItemT(infoPtr, &lvItem, TRUE)) bResult = FALSE;
|
if (!LISTVIEW_SetItemT(infoPtr, &lvItem, TRUE)) bResult = FALSE;
|
||||||
|
|
|
@ -2547,10 +2547,10 @@ static void test_ownerdata(void)
|
||||||
item.state = LVIS_FOCUSED;
|
item.state = LVIS_FOCUSED;
|
||||||
g_dump_itemchanged = TRUE;
|
g_dump_itemchanged = TRUE;
|
||||||
res = SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
|
res = SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
|
||||||
todo_wine expect(FALSE, res);
|
expect(FALSE, res);
|
||||||
g_dump_itemchanged = FALSE;
|
g_dump_itemchanged = FALSE;
|
||||||
ok_sequence(sequences, PARENT_SEQ_INDEX, empty_seq,
|
ok_sequence(sequences, PARENT_SEQ_INDEX, empty_seq,
|
||||||
"ownerdata focus all notification", TRUE);
|
"ownerdata focus all notification", FALSE);
|
||||||
/* focus single item, remove all */
|
/* focus single item, remove all */
|
||||||
item.stateMask = LVIS_FOCUSED;
|
item.stateMask = LVIS_FOCUSED;
|
||||||
item.state = LVIS_FOCUSED;
|
item.state = LVIS_FOCUSED;
|
||||||
|
|
Loading…
Reference in New Issue