https://git.reactos.org/?p=reactos.git;a=commitdiff;h=855008d97b2c7e1a1b72a…
commit 855008d97b2c7e1a1b72ad268b68d83c739ebc6d
Author: Jesús Sanz del Rey <jesussanz2003(a)gmail.com>
AuthorDate: Sat Oct 21 18:51:54 2023 +0200
Commit: GitHub <noreply(a)github.com>
CommitDate: Sat Oct 21 18:51:54 2023 +0200
[COMCTL32] Invalidate LVIS_CUT selected items too (#4218)
This fixes icons that should be drawn transparently not showing as such until window
gets repainted.
For example, hidden shell folders that are not drawn transparently until the
filebrowser window is resized...
CORE-16722
---
dll/win32/comctl32/listview.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dll/win32/comctl32/listview.c b/dll/win32/comctl32/listview.c
index 9d6609ffd71..5bd7e287a8b 100644
--- a/dll/win32/comctl32/listview.c
+++ b/dll/win32/comctl32/listview.c
@@ -2276,7 +2276,11 @@ 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);