From 1acaa988bc1b9286a87f5510c4205b164a00ccc9 Mon Sep 17 00:00:00 2001 From: Whindmar Saksit Date: Wed, 19 Feb 2025 15:26:49 +0100 Subject: [PATCH] [0.4.15][COMCTL32] ListView LVIS_CUT image does not depend on focus (#7724) Fixes CORE-19533. Also undoes flicker caused by PR #4218. --- dll/win32/comctl32/listview.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dll/win32/comctl32/listview.c b/dll/win32/comctl32/listview.c index 5279c7b0d27..c94b85fac64 100644 --- a/dll/win32/comctl32/listview.c +++ b/dll/win32/comctl32/listview.c @@ -2270,11 +2270,7 @@ static void LISTVIEW_InvalidateSelectedItems(const LISTVIEW_INFO *infoPtr) iterator_frameditems(&i, infoPtr, &infoPtr->rcList); while(iterator_next(&i)) { -#ifdef __REACTOS__ - if (LISTVIEW_GetItemState(infoPtr, i.nItem, LVIS_SELECTED | LVIS_CUT)) -#else if (LISTVIEW_GetItemState(infoPtr, i.nItem, LVIS_SELECTED)) -#endif LISTVIEW_InvalidateItem(infoPtr, i.nItem); } iterator_destroy(&i); @@ -4782,7 +4778,11 @@ static void LISTVIEW_DrawItemPart(LISTVIEW_INFO *infoPtr, LVITEMW *item, const N TRACE("iImage=%d\n", item->iImage); +#ifdef __REACTOS__ + if (item->state & (LVIS_CUT | (infoPtr->bFocus ? LVIS_SELECTED : 0))) +#else if (item->state & (LVIS_SELECTED | LVIS_CUT) && infoPtr->bFocus) +#endif style = ILD_SELECTED; else style = ILD_NORMAL;