comctl32/animate: Use the global HeapAlloc() helpers.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2018-02-09 09:41:26 +03:00 committed by Alexandre Julliard
parent bd4193ef9f
commit 61de79dcab
1 changed files with 39 additions and 35 deletions

View File

@ -45,6 +45,7 @@
#include "mmsystem.h"
#include "comctl32.h"
#include "wine/debug.h"
#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(animate);
@ -188,36 +189,39 @@ static BOOL ANIMATE_DoStop(ANIMATE_INFO *infoPtr)
static void ANIMATE_Free(ANIMATE_INFO *infoPtr)
{
if (infoPtr->hMMio) {
ANIMATE_DoStop(infoPtr);
mmioClose(infoPtr->hMMio, 0);
if (infoPtr->hRes) {
FreeResource(infoPtr->hRes);
infoPtr->hRes = 0;
}
Free (infoPtr->lpIndex);
infoPtr->lpIndex = NULL;
if (infoPtr->hic) {
fnIC.fnICClose(infoPtr->hic);
infoPtr->hic = 0;
}
Free (infoPtr->inbih);
infoPtr->inbih = NULL;
Free (infoPtr->outbih);
infoPtr->outbih = NULL;
Free (infoPtr->indata);
infoPtr->indata = NULL;
Free (infoPtr->outdata);
infoPtr->outdata = NULL;
if( infoPtr->hbmPrevFrame )
if (infoPtr->hMMio)
{
ANIMATE_DoStop(infoPtr);
mmioClose(infoPtr->hMMio, 0);
if (infoPtr->hRes)
{
DeleteObject(infoPtr->hbmPrevFrame);
FreeResource(infoPtr->hRes);
infoPtr->hRes = 0;
}
heap_free (infoPtr->lpIndex);
infoPtr->lpIndex = NULL;
if (infoPtr->hic)
{
fnIC.fnICClose(infoPtr->hic);
infoPtr->hic = 0;
}
heap_free (infoPtr->inbih);
infoPtr->inbih = NULL;
heap_free (infoPtr->outbih);
infoPtr->outbih = NULL;
heap_free (infoPtr->indata);
infoPtr->indata = NULL;
heap_free (infoPtr->outdata);
infoPtr->outdata = NULL;
if (infoPtr->hbmPrevFrame)
{
DeleteObject(infoPtr->hbmPrevFrame);
infoPtr->hbmPrevFrame = 0;
}
memset(&infoPtr->mah, 0, sizeof(infoPtr->mah));
memset(&infoPtr->ash, 0, sizeof(infoPtr->ash));
infoPtr->nFromFrame = infoPtr->nToFrame = infoPtr->nLoop = infoPtr->currFrame = 0;
memset(&infoPtr->mah, 0, sizeof(infoPtr->mah));
memset(&infoPtr->ash, 0, sizeof(infoPtr->ash));
infoPtr->nFromFrame = infoPtr->nToFrame = infoPtr->nLoop = infoPtr->currFrame = 0;
}
infoPtr->transparentColor = ANIMATE_COLOR_NONE;
}
@ -571,7 +575,7 @@ static BOOL ANIMATE_GetAviInfo(ANIMATE_INFO *infoPtr)
return FALSE;
}
infoPtr->inbih = Alloc(mmckInfo.cksize);
infoPtr->inbih = heap_alloc_zero(mmckInfo.cksize);
if (!infoPtr->inbih) {
WARN("Can't alloc input BIH\n");
return FALSE;
@ -618,7 +622,7 @@ static BOOL ANIMATE_GetAviInfo(ANIMATE_INFO *infoPtr)
/* FIXME: should handle the 'rec ' LIST when present */
infoPtr->lpIndex = Alloc(infoPtr->mah.dwTotalFrames * sizeof(DWORD));
infoPtr->lpIndex = heap_alloc_zero(infoPtr->mah.dwTotalFrames * sizeof(DWORD));
if (!infoPtr->lpIndex)
return FALSE;
@ -640,7 +644,7 @@ static BOOL ANIMATE_GetAviInfo(ANIMATE_INFO *infoPtr)
infoPtr->ash.dwSuggestedBufferSize = insize;
}
infoPtr->indata = Alloc(infoPtr->ash.dwSuggestedBufferSize);
infoPtr->indata = heap_alloc_zero(infoPtr->ash.dwSuggestedBufferSize);
if (!infoPtr->indata)
return FALSE;
@ -671,7 +675,7 @@ static BOOL ANIMATE_GetAviCodec(ANIMATE_INFO *infoPtr)
outSize = fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT,
(DWORD_PTR)infoPtr->inbih, 0L);
infoPtr->outbih = Alloc(outSize);
infoPtr->outbih = heap_alloc_zero(outSize);
if (!infoPtr->outbih)
return FALSE;
@ -682,7 +686,7 @@ static BOOL ANIMATE_GetAviCodec(ANIMATE_INFO *infoPtr)
return FALSE;
}
infoPtr->outdata = Alloc(infoPtr->outbih->biSizeImage);
infoPtr->outdata = heap_alloc_zero(infoPtr->outbih->biSizeImage);
if (!infoPtr->outdata)
return FALSE;
@ -776,12 +780,12 @@ static BOOL ANIMATE_OpenA(ANIMATE_INFO *infoPtr, HINSTANCE hInstance, LPSTR lpsz
return ANIMATE_OpenW(infoPtr, hInstance, (LPWSTR)lpszName);
len = MultiByteToWideChar(CP_ACP, 0, lpszName, -1, NULL, 0);
lpwszName = Alloc(len * sizeof(WCHAR));
lpwszName = heap_alloc(len * sizeof(WCHAR));
if (!lpwszName) return FALSE;
MultiByteToWideChar(CP_ACP, 0, lpszName, -1, lpwszName, len);
result = ANIMATE_OpenW(infoPtr, hInstance, lpwszName);
Free (lpwszName);
heap_free (lpwszName);
return result;
}
@ -814,7 +818,7 @@ static BOOL ANIMATE_Create(HWND hWnd, const CREATESTRUCTW *lpcs)
}
/* allocate memory for info structure */
infoPtr = Alloc(sizeof(ANIMATE_INFO));
infoPtr = heap_alloc_zero(sizeof(*infoPtr));
if (!infoPtr) return FALSE;
/* store crossref hWnd <-> info structure */
@ -844,7 +848,7 @@ static LRESULT ANIMATE_Destroy(ANIMATE_INFO *infoPtr)
infoPtr->cs.DebugInfo->Spare[0] = 0;
DeleteCriticalSection(&infoPtr->cs);
Free(infoPtr);
heap_free(infoPtr);
return 0;
}