[PATCH 3/5] avifil32: Only modify the stream info after a succesful allocation in AVIFILE_AddFrame().
Henri Verbeet
hverbeet at codeweavers.com
Tue Jan 5 14:29:01 CST 2010
---
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;
--
1.6.4.4
More information about the wine-patches
mailing list