diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index 993384410..bf30e0e16 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -81,9 +81,14 @@ static void scrollrt_draw_cursor_back_buffer() /// ASSERT: assert(gpBuffer); src = sgSaveBack; dst = &gpBuffer[SCREENXY(sgdwCursX, sgdwCursY)]; + i = sgdwCursHgt; - for (i = sgdwCursHgt; i != 0; i--, src += sgdwCursWdt, dst += BUFFER_WIDTH) { - memcpy(dst, src, sgdwCursWdt); + if (sgdwCursHgt != 0) { + while (i--) { + memcpy(dst, src, sgdwCursWdt); + src += sgdwCursWdt; + dst += BUFFER_WIDTH; + } } sgdwCursXOld = sgdwCursX;