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;