diff --git a/src/FrameBuffer.cpp b/src/FrameBuffer.cpp index 68718ca3..73e70d5e 100644 --- a/src/FrameBuffer.cpp +++ b/src/FrameBuffer.cpp @@ -1315,7 +1315,7 @@ void FrameBufferList::renderBuffer() srcHeight = rdpRes.vi_width * ((rdpRes.vi_vres*rdpRes.vi_y_add + rdpRes.vi_y_start) >> 10) / pBuffer->m_width; const u32 stride = pBuffer->m_width << pBuffer->m_size >> 1; - FrameBuffer *pNextBuffer = findBuffer(rdpRes.vi_origin + stride * (srcHeight - 1)); + FrameBuffer *pNextBuffer = findBuffer(rdpRes.vi_origin + stride * min(u32(srcHeight) - 1, pBuffer->m_height - 1) - 1); if (pNextBuffer == pBuffer) pNextBuffer = nullptr;