This fixes a few problems in shell code, manifesting in bad icons in listviews. ChangeLog DPAs can't have more than 0x8000 elements (fixed with lots of help from Carlos <clozano@andago.com). --- ./dlls/comctl32/comctl32undoc.c.A3 Sun Oct 20 12:32:57 2002 +++ ./dlls/comctl32/comctl32undoc.c Sun Oct 20 18:53:55 2002 @@ -1879,6 +1879,9 @@ if (!hdpa || i < 0) return -1; + if (i == 0x7fff) + i = hdpa->nItemCount; + if (i >= hdpa->nItemCount) return DPA_SetPtr(hdpa, i, p) ? i : -1; @@ -1911,7 +1914,7 @@ TRACE("(%p %d %p)\n", hdpa, i, p); - if ((!hdpa) || i < 0) + if (!hdpa || i < 0 || i > 0x7fff) return FALSE; if (hdpa->nItemCount <= i) {