On Sat, Nov 28, 2009 at 5:04 PM, Laurent Vromman <laur...@vromman.org> wrote:
> -    pStrokes = HeapAlloc(GetProcessHeap(), 0, numStrokes *
> sizeof(GdiPath*));
> -    pStrokes[0] = HeapAlloc(GetProcessHeap(), 0, sizeof(GdiPath));
> -    PATH_InitGdiPath(pStrokes[0]);
> -    pStrokes[0]->pFlags = HeapAlloc(GetProcessHeap(), 0,
> pPath->numEntriesUsed * sizeof(INT));
> -    pStrokes[0]->pPoints = HeapAlloc(GetProcessHeap(), 0,
> pPath->numEntriesUsed * sizeof(POINT));
> -    pStrokes[0]->numEntriesUsed = 0;
> +    pStrokes = NULL;
...

Wait, wouldn't it be simpler to keep the initial alloc, as in the attachment?
- Dan
diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c
index 88b7b0a..f7cd464 100644
--- a/dlls/gdi32/path.c
+++ b/dlls/gdi32/path.c
@@ -1908,11 +1908,6 @@ static BOOL PATH_WidenPath(DC *dc)
     numStrokes = 0;
 
     pStrokes = HeapAlloc(GetProcessHeap(), 0, numStrokes * sizeof(GdiPath*));
-    pStrokes[0] = HeapAlloc(GetProcessHeap(), 0, sizeof(GdiPath));
-    PATH_InitGdiPath(pStrokes[0]);
-    pStrokes[0]->pFlags = HeapAlloc(GetProcessHeap(), 0, pPath->numEntriesUsed * sizeof(INT));
-    pStrokes[0]->pPoints = HeapAlloc(GetProcessHeap(), 0, pPath->numEntriesUsed * sizeof(POINT));
-    pStrokes[0]->numEntriesUsed = 0;
 
     for(i = 0, j = 0; i < pPath->numEntriesUsed; i++, j++) {
         POINT point;


Reply via email to