do not draw fuzz columns beyond screen boundaries (#2108)

Fixes #2099
This commit is contained in:
Fabian Greffrath 2024-12-30 19:24:03 +01:00 committed by GitHub
parent 79c801ce90
commit fe20c4903c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -488,6 +488,8 @@ static void DrawFuzzColumnBlocky(void)
int lines = fuzzblocksize - (dc_yl % fuzzblocksize); int lines = fuzzblocksize - (dc_yl % fuzzblocksize);
const int fuzzblockwidth = MIN(fuzzblocksize, linesize - dc_x);
do do
{ {
count -= lines; count -= lines;
@ -506,7 +508,7 @@ static void DrawFuzzColumnBlocky(void)
do do
{ {
memset(dest, fuzz, fuzzblocksize); memset(dest, fuzz, fuzzblockwidth);
dest += linesize; dest += linesize;
} while (--lines); } while (--lines);
@ -580,6 +582,8 @@ static void DrawFuzzColumnRefraction(void)
int lines = fuzzblocksize - (dc_yl % fuzzblocksize); int lines = fuzzblocksize - (dc_yl % fuzzblocksize);
const int fuzzblockwidth = MIN(fuzzblocksize, linesize - dc_x);
int dark = FUZZDARK; int dark = FUZZDARK;
int offset = 0; int offset = 0;
@ -600,7 +604,7 @@ static void DrawFuzzColumnRefraction(void)
do do
{ {
memset(dest, fuzz, fuzzblocksize); memset(dest, fuzz, fuzzblockwidth);
dest += linesize; dest += linesize;
} while (--lines); } while (--lines);