fix crash when zooming out on small images (#178)

When rendering images, destination image width and height may become
zero due to float-to-int conversion after zoom calculation, later
crashing when creating an image using those dimensions. This sets
a minimum of 1 to both variables.

Closes #82
This commit is contained in:
mamg22 2021-11-30 19:52:09 -04:00 committed by GitHub
parent 3bc7082f4e
commit 127abbea77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -602,7 +602,7 @@ void img_render(img_t *img)
sx = 0; sx = 0;
sw = img->w; sw = img->w;
dx = img->x; dx = img->x;
dw = img->w * img->zoom; dw = MAX(img->w * img->zoom, 1);
} }
if (img->y <= 0) { if (img->y <= 0) {
sy = -img->y / img->zoom + 0.5; sy = -img->y / img->zoom + 0.5;
@ -613,7 +613,7 @@ void img_render(img_t *img)
sy = 0; sy = 0;
sh = img->h; sh = img->h;
dy = img->y; dy = img->y;
dh = img->h * img->zoom; dh = MAX(img->h * img->zoom, 1);
} }
win_clear(win); win_clear(win);