diff --git a/dll/win32/mciavi32/mmoutput.c b/dll/win32/mciavi32/mmoutput.c index ee0481c59c7..05bda02ad6c 100644 --- a/dll/win32/mciavi32/mmoutput.c +++ b/dll/win32/mciavi32/mmoutput.c @@ -611,8 +611,16 @@ double MCIAVI_PaintFrame(WINE_MCIAVI* wma, HDC hDC) TRACE("Painting frame %u (cached %u)\n", wma->dwCurrVideoFrame, wma->dwCachedFrame); + if (wma->dwCurrVideoFrame != wma->dwCachedFrame) { + + if (wma->dwCurrVideoFrame >= wma->dwPlayableVideoFrames) + { + ERR("Invalid frame requested. Current : %u Total Playable %u\n", wma->dwCurrVideoFrame, wma->dwPlayableVideoFrames); + return 0; + } + if (!wma->lpVideoIndex[wma->dwCurrVideoFrame].dwOffset) return 0;