From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/comctl32/imagelist.c | 58 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-)
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c index 22d8d8c40e0..eddb282227f 100644 --- a/dlls/comctl32/imagelist.c +++ b/dlls/comctl32/imagelist.c @@ -45,7 +45,6 @@ #include "commoncontrols.h" #include "wine/debug.h" #include "wine/exception.h" -#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(imagelist);
@@ -269,7 +268,7 @@ static BOOL add_with_alpha( HIMAGELIST himl, HDC hdc, int pos, int count, SelectObject( hdc, hbmImage ); mask_width = (bm.bmWidth + 31) / 32 * 4;
- if (!(info = heap_alloc( FIELD_OFFSET( BITMAPINFO, bmiColors[256] )))) goto done; + if (!(info = malloc( FIELD_OFFSET( BITMAPINFO, bmiColors[256] )))) goto done; info->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); info->bmiHeader.biWidth = bm.bmWidth; info->bmiHeader.biHeight = -height; @@ -281,17 +280,17 @@ static BOOL add_with_alpha( HIMAGELIST himl, HDC hdc, int pos, int count, info->bmiHeader.biYPelsPerMeter = 0; info->bmiHeader.biClrUsed = 0; info->bmiHeader.biClrImportant = 0; - if (!(bits = heap_alloc( info->bmiHeader.biSizeImage ))) goto done; + if (!(bits = malloc( info->bmiHeader.biSizeImage ))) goto done; if (!GetDIBits( hdc, hbmImage, 0, height, bits, info, DIB_RGB_COLORS )) goto done;
if (hbmMask) { - if (!(mask_info = heap_alloc( FIELD_OFFSET( BITMAPINFO, bmiColors[2] )))) + if (!(mask_info = malloc( FIELD_OFFSET( BITMAPINFO, bmiColors[2] )))) goto done; mask_info->bmiHeader = info->bmiHeader; mask_info->bmiHeader.biBitCount = 1; mask_info->bmiHeader.biSizeImage = mask_width * height; - if (!(mask_bits = heap_alloc_zero( mask_info->bmiHeader.biSizeImage ))) + if (!(mask_bits = calloc( 1, mask_info->bmiHeader.biSizeImage ))) goto done; if (!GetDIBits( hdc, hbmMask, 0, height, mask_bits, mask_info, DIB_RGB_COLORS )) goto done; } @@ -300,10 +299,10 @@ static BOOL add_with_alpha( HIMAGELIST himl, HDC hdc, int pos, int count, ret = TRUE;
done: - heap_free( info ); - heap_free( mask_info ); - heap_free( bits ); - heap_free( mask_bits ); + free( info ); + free( mask_info ); + free( bits ); + free( mask_bits ); return ret; }
@@ -380,8 +379,8 @@ IMAGELIST_InternalExpandBitmaps(HIMAGELIST himl, INT nImageCount) himl->hbmMask = hbmNewBitmap; }
- himl->item_flags = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, himl->item_flags, - nNewCount * sizeof(*himl->item_flags)); + himl->item_flags = realloc(himl->item_flags, nNewCount * sizeof(*himl->item_flags)); + memset( himl->item_flags + himl->cMaxImage, 0, (nNewCount - himl->cMaxImage) * sizeof(*himl->item_flags) ); himl->cMaxImage = nNewCount;
DeleteDC (hdcBitmap); @@ -848,7 +847,7 @@ ImageList_Create (INT cx, INT cy, UINT flags, else himl->hbmMask = 0;
- himl->item_flags = heap_alloc_zero( himl->cMaxImage * sizeof(*himl->item_flags) ); + himl->item_flags = calloc( himl->cMaxImage, sizeof(*himl->item_flags) );
/* create blending brushes */ hbmTemp = CreateBitmap (8, 8, 1, 1, aBitBlend25); @@ -1260,7 +1259,7 @@ static BOOL alpha_blend_image( HIMAGELIST himl, HDC dest_dc, int dest_x, int des func.AlphaFormat = AC_SRC_ALPHA;
if (!(hdc = CreateCompatibleDC( 0 ))) return FALSE; - if (!(info = heap_alloc( FIELD_OFFSET( BITMAPINFO, bmiColors[256] )))) goto done; + if (!(info = malloc( FIELD_OFFSET( BITMAPINFO, bmiColors[256] )))) goto done; info->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); info->bmiHeader.biWidth = cx; info->bmiHeader.biHeight = cy; @@ -1371,7 +1370,7 @@ done: DeleteDC( hdc ); if (bmp) DeleteObject( bmp ); if (mask) DeleteObject( mask ); - heap_free( info ); + free( info ); return ret; }
@@ -1981,11 +1980,11 @@ ImageList_LoadImageA (HINSTANCE hi, LPCSTR lpbmp, INT cx, INT cGrow, uType, uFlags);
len = MultiByteToWideChar(CP_ACP, 0, lpbmp, -1, NULL, 0); - lpbmpW = heap_alloc(len * sizeof(WCHAR)); + lpbmpW = malloc(len * sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, lpbmp, -1, lpbmpW, len);
himl = ImageList_LoadImageW(hi, lpbmpW, cx, cGrow, clrMask, uType, uFlags); - heap_free (lpbmpW); + free (lpbmpW); return himl; }
@@ -2226,12 +2225,12 @@ static void *read_bitmap(IStream *pstm, BITMAPINFO *bmi) if (palspace && FAILED(IStream_Read(pstm, bmi->bmiColors, palspace, NULL))) return NULL;
- bits = heap_alloc_zero(bmi->bmiHeader.biSizeImage); + bits = calloc(1, bmi->bmiHeader.biSizeImage); if (!bits) return NULL;
if (FAILED(IStream_Read(pstm, bits, bmi->bmiHeader.biSizeImage, NULL))) { - heap_free(bits); + free(bits); return NULL; } return bits; @@ -2343,8 +2342,8 @@ HIMAGELIST WINAPI ImageList_Read(IStream *pstm) 0, 0, mask_info->bmiHeader.biWidth, mask_info->bmiHeader.biHeight, mask_bits, mask_info, DIB_RGB_COLORS, SRCCOPY); } - heap_free( image_bits ); - heap_free( mask_bits ); + free( image_bits ); + free( mask_bits );
himl->cCurImage = ilHead.cCurImage; himl->cMaxImage = ilHead.cMaxImage; @@ -2406,8 +2405,8 @@ ImageList_Remove (HIMAGELIST himl, INT i) for (nCount = 0; nCount < MAX_OVERLAYIMAGE; nCount++) himl->nOvlIdx[nCount] = -1;
- heap_free( himl->item_flags ); - himl->item_flags = heap_alloc_zero( himl->cMaxImage * sizeof(*himl->item_flags) ); + free( himl->item_flags ); + himl->item_flags = calloc( himl->cMaxImage, sizeof(*himl->item_flags) );
hbmNewImage = ImageList_CreateImage(himl->hdcImage, himl, himl->cMaxImage); SelectObject (himl->hdcImage, hbmNewImage); @@ -2947,8 +2946,9 @@ ImageList_SetImageCount (HIMAGELIST himl, UINT iImageCount)
DeleteDC (hdcBitmap);
- himl->item_flags = HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, himl->item_flags, - nNewCount * sizeof(*himl->item_flags)); + himl->item_flags = realloc( himl->item_flags, nNewCount * sizeof(*himl->item_flags)); + if (nNewCount > himl->cMaxImage) + memset( himl->item_flags + himl->cMaxImage, 0, (nNewCount - himl->cMaxImage) * sizeof(*himl->item_flags) );
/* Update max image count and current image count */ himl->cMaxImage = nNewCount; @@ -3013,7 +3013,7 @@ static BOOL _write_bitmap(HBITMAP hBitmap, IStream *pstm) offBits = totalSize; totalSize += sizeImage;
- data = heap_alloc_zero(totalSize); + data = calloc(1, totalSize); bmfh = (LPBITMAPFILEHEADER)data; bmih = (LPBITMAPINFOHEADER)(data + sizeof(BITMAPFILEHEADER)); lpBits = data + offBits; @@ -3054,7 +3054,7 @@ static BOOL _write_bitmap(HBITMAP hBitmap, IStream *pstm) result = TRUE;
failed: - heap_free(data); + free(data);
return result; } @@ -3299,8 +3299,8 @@ static ULONG WINAPI ImageListImpl_Release(IImageList2 *iface) if (This->hbrBlend50) DeleteObject (This->hbrBlend50);
This->IImageList2_iface.lpVtbl = NULL; - heap_free(This->item_flags); - heap_free(This); + free(This->item_flags); + free(This); }
return ref; @@ -3834,7 +3834,7 @@ static HRESULT ImageListImpl_CreateInstance(const IUnknown *pUnkOuter, REFIID ii
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
- This = heap_alloc_zero(sizeof(struct _IMAGELIST)); + This = calloc(1, sizeof(struct _IMAGELIST)); if (!This) return E_OUTOFMEMORY;
This->IImageList2_iface.lpVtbl = &ImageListImpl_Vtbl;