From c2a7535e9d112989abe687255b4f0da9a597678e Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 9 Dec 2009 15:17:12 +0300 Subject: [PATCH] comctl32/listview: Update item width every time new item is inserted. This prevents retaining previously stored width and unexpected item displaying collapsing with ending ellipsis. --- dlls/comctl32/listview.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 8f6db541de4..3d327086501 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -2834,6 +2834,8 @@ static INT LISTVIEW_CalculateItemWidth(const LISTVIEW_INFO *infoPtr) nItemWidth += WIDTH_PADDING; } + TRACE("nItemWidth=%d\n", nItemWidth); + return nItemWidth; } @@ -7476,7 +7478,7 @@ static INT LISTVIEW_InsertItemT(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, TRACE(" inserting at %d, sorted=%d, count=%d, iItem=%d\n", nItem, is_sorted, infoPtr->nItemCount, lpLVItem->iItem); nItem = DPA_InsertPtr( infoPtr->hdpaItems, nItem, hdpaSubItems ); if (nItem == -1) goto fail; - if (infoPtr->nItemCount++ == 0) LISTVIEW_UpdateItemSize(infoPtr); + if (++infoPtr->nItemCount > 0) LISTVIEW_UpdateItemSize(infoPtr); /* shift indices first so they don't get tangled */ LISTVIEW_ShiftIndices(infoPtr, nItem, 1);