From 23751e0ac23eefb032fc0ac71d4dbdb78bacb6f3 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Thu, 14 Jul 2016 14:28:12 +0100 Subject: [PATCH] gdi32: Use alloc_gdi_path() to create the path. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/gdi32/path.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c index 34d717f4d6a..86c16990de6 100644 --- a/dlls/gdi32/path.c +++ b/dlls/gdi32/path.c @@ -136,24 +136,13 @@ static struct gdi_path *alloc_gdi_path( int count ) static struct gdi_path *copy_gdi_path( const struct gdi_path *src_path ) { - struct gdi_path *path = HeapAlloc( GetProcessHeap(), 0, sizeof(*path) ); + struct gdi_path *path = alloc_gdi_path( src_path->count ); - if (!path) - { - SetLastError( ERROR_NOT_ENOUGH_MEMORY ); - return NULL; - } - path->count = path->allocated = src_path->count; + if (!path) return NULL; + + path->count = src_path->count; path->newStroke = src_path->newStroke; path->pos = src_path->pos; - path->points = HeapAlloc( GetProcessHeap(), 0, path->count * sizeof(*path->points) ); - path->flags = HeapAlloc( GetProcessHeap(), 0, path->count * sizeof(*path->flags) ); - if (!path->points || !path->flags) - { - free_gdi_path( path ); - SetLastError( ERROR_NOT_ENOUGH_MEMORY ); - return NULL; - } memcpy( path->points, src_path->points, path->count * sizeof(*path->points) ); memcpy( path->flags, src_path->flags, path->count * sizeof(*path->flags) ); return path;