Henri Verbeet : avifil32: Only modify the stream info after a succesful allocation in AVIFILE_AddFrame ().
Module: wine Branch: master Commit: 63aa5418c1bec4992f75c984c54a8bee23b92fec URL: http://source.winehq.org/git/wine.git/?a=commit;h=63aa5418c1bec4992f75c984c5... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Tue Jan 5 21:29:01 2010 +0100 avifil32: Only modify the stream info after a succesful allocation in AVIFILE_AddFrame(). --- dlls/avifil32/avifile.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c index 48c3662..ea6d6b1 100644 --- a/dlls/avifil32/avifile.c +++ b/dlls/avifil32/avifile.c @@ -1381,10 +1381,8 @@ static HRESULT AVIFILE_AddFrame(IAVIStreamImpl *This, DWORD ckid, DWORD size, DW ERR(": found palette change in non-video stream!\n"); return AVIERR_BADFORMAT; } - This->sInfo.dwFlags |= AVISTREAMINFO_FORMATCHANGES; - This->sInfo.dwFormatChangeCount++; - if (This->idxFmtChanges == NULL || This->nIdxFmtChanges < This->sInfo.dwFormatChangeCount) { + if (This->idxFmtChanges == NULL || This->nIdxFmtChanges <= This->sInfo.dwFormatChangeCount) { This->nIdxFmtChanges += 16; if (This->idxFmtChanges == NULL) This->idxFmtChanges = @@ -1397,7 +1395,8 @@ static HRESULT AVIFILE_AddFrame(IAVIStreamImpl *This, DWORD ckid, DWORD size, DW return AVIERR_MEMORY; } - n = This->sInfo.dwFormatChangeCount; + This->sInfo.dwFlags |= AVISTREAMINFO_FORMATCHANGES; + n = ++This->sInfo.dwFormatChangeCount; This->idxFmtChanges[n].ckid = This->lLastFrame; This->idxFmtChanges[n].dwFlags = 0; This->idxFmtChanges[n].dwChunkOffset = offset;
participants (1)
-
Alexandre Julliard