Module: wine Branch: master Commit: 63aa5418c1bec4992f75c984c54a8bee23b92fec URL: http://source.winehq.org/git/wine.git/?a=commit;h=63aa5418c1bec4992f75c984c5...
Author: Henri Verbeet hverbeet@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;