DPA (A4)

Dimitrie O. Paun dpaun at rogers.com
Sun Oct 20 17:56:54 CDT 2002


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 at 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) {




More information about the wine-patches mailing list