iSelectedImage is allowed to be 0.
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index b13c8aa..1eb17b6 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -489,7 +489,6 @@
tvItem->state = item->state;
tvItem->stateMask = 0;
tvItem->iImage = item->iImage;
- tvItem->iImage = item->iImage;
tvItem->iSelectedImage = item->iSelectedImage;
tvItem->cChildren = item->cChildren;
tvItem->lParam = item->lParam;
@@ -974,6 +973,9 @@
if (!newItem)
return NULL;
+ newItem->iImage = -1;
+ newItem->iSelectedImage = -1;
+
if (DPA_InsertPtr(infoPtr->items, INT_MAX, newItem) == -1)
{
Free(newItem);
@@ -2435,7 +2437,7 @@
* non-selected image.
*/
- if ((wineItem->state & TVIS_SELECTED) && (wineItem->iSelectedImage))
+ if ((wineItem->state & TVIS_SELECTED) && (wineItem->iSelectedImage >= 0))
{
/* The item is currently selected */
imageIndex = wineItem->iSelectedImage;