Listview updates (G1)
Dimitrie O. Paun
dpaun at rogers.com
Fri Sep 27 08:45:54 CDT 2002
This one properly fixes the problem reported by Paul Rupe.
It is relative to G0, sent earlier on the list.
ChangeLog:
Remove item from the list, if we fail to initialize it at insert time.
--- dlls/comctl32/listview.c.G0 Fri Sep 27 09:19:31 2002
+++ dlls/comctl32/listview.c Fri Sep 27 09:44:13 2002
@@ -6619,7 +6619,11 @@
hdpaSubItems );
if (nItem == -1) goto fail;
- if (!LISTVIEW_SetItemT(infoPtr, lpLVItem, isW)) goto fail;
+ if (!LISTVIEW_SetItemT(infoPtr, lpLVItem, isW))
+ {
+ DPA_DeletePtr(infoPtr->hdpaItems, nItem);
+ goto fail;
+ }
/* if we're sorted, sort the list, and update the index */
if (is_sorted)
@@ -6630,7 +6634,8 @@
{
ERR("We can't find the item we just inserted, possible memory corruption.");
/* we can't remove it from the list if we can't find it, so just fail */
- goto fail;
+ /* we don't deallocate memory here, as it will probably cause more problems */
+ return -1;
}
}
More information about the wine-patches
mailing list