Module: wine Branch: master Commit: 2eb171c1f559fcc79068e3e61789469a0281a74e URL: http://source.winehq.org/git/wine.git/?a=commit;h=2eb171c1f559fcc79068e3e617...
Author: Felix Nawothnig flexo@holycrap.org Date: Tue Jan 9 08:03:39 2007 +0100
treeview: Initialize iImage and iSelectedImage with zero.
---
dlls/comctl32/tests/treeview.c | 8 ++++++++ dlls/comctl32/treeview.c | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-)
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 IdentifyItem(HTREEITEM hItem static void FillRoot(void) { TVINSERTSTRUCTA ins; + TVITEM tvi; static CHAR root[] = "Root", child[] = "Child";
@@ -82,6 +83,13 @@ static void FillRoot(void) 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 @@ TREEVIEW_AllocateItem(TREEVIEW_INFO *inf 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) {