From e7b105b6ed8d6a25572ecda8348f94f74cbea326 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Wed, 16 Jun 2021 02:16:21 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20Fix=20off-by-one=20in=20`DrawCur?= =?UTF-8?q?sor`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The correct size is +2px for the outline, because the outline is on both sides. Fixes #2179 --- Source/scrollrt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index fc7405746..21f0c58f0 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -207,10 +207,10 @@ static void DrawCursor(const CelOutputBuffer &out) return; sgdwCursX = std::max(MouseX - 1, 0); - sgdwCursWdt = MouseX < 0 ? cursW + MouseX + 1 : std::min(MouseX + cursW + 1, out.w()) - MouseX; + sgdwCursWdt = MouseX < 0 ? cursW + MouseX + 2 : std::min(MouseX + cursW + 2, out.w()) - MouseX; sgdwCursY = std::max(MouseY - 1, 0); - sgdwCursHgt = MouseY < 0 ? cursH + MouseY + 1 : std::min(MouseY + cursH + 1, out.h()) - MouseY; + sgdwCursHgt = MouseY < 0 ? cursH + MouseY + 2 : std::min(MouseY + cursH + 2, out.h()) - MouseY; BlitCursor(sgSaveBack, sgdwCursWdt, out.at(sgdwCursX, sgdwCursY), out.pitch());