treeview: Initialize iImage and iSelectedImage with zero.
diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index adf0ea4..ba14dd6 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -70,6 +70,7 @@
 static void FillRoot(void)
 {
     TVINSERTSTRUCTA ins;
+    TVITEM tvi;
     static CHAR root[]  = "Root",
                 child[] = "Child";
 
@@ -82,6 +83,13 @@
     hRoot = TreeView_InsertItem(hTree, &ins);
     assert(hRoot);
 
+    /* UMLPad 1.15 depends on this being not -1 (I_IMAGECALLBACK) */
+    tvi.hItem = hRoot;
+    tvi.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE;
+    SendMessage( hTree, TVM_GETITEM, 0, (LPARAM)&tvi );
+    ok(tvi.iImage == 0, "tvi.iImage=%d\n", tvi.iImage);
+    ok(tvi.iSelectedImage == 0, "tvi.iSelectedImage=%d\n", tvi.iSelectedImage);
+
     AddItem('B');
     ins.hParent = hRoot;
     ins.hInsertAfter = TVI_FIRST;
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index aefce78..4fb2a32 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -1010,8 +1010,12 @@
     if (!newItem)
 	return NULL;
 
-    newItem->iImage = -1;
-    newItem->iSelectedImage = -1;
+    /* I_IMAGENONE would make more sense but this is neither what is
+     * documented (MSDN doesn't specify) nor what Windows actually does
+     * (it sets it to zero)... and I can so imagine an application using
+     * inc/dec to toggle the images. */
+    newItem->iImage = 0;
+    newItem->iSelectedImage = 0;
 
     if (DPA_InsertPtr(infoPtr->items, INT_MAX, newItem) == -1)
     {