summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormamg22 <45301823+mamg22@users.noreply.github.com>2021-12-01 00:52:09 +0100
committerGitHub <noreply@github.com>2021-12-01 00:52:09 +0100
commit127abbea770e1fff660b0ffd10ab58bcb46bf0af (patch)
tree1ffdcaabe195fd6f21b79f44e436cc00902faaef
parent3bc7082f4e08e71fb40944bb085fafbb65f6c8cf (diff)
downloadnsxiv-127abbea770e1fff660b0ffd10ab58bcb46bf0af.tar.zst
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
-rw-r--r--image.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/image.c b/image.c
index eaa35da..268163b 100644
--- a/image.c
+++ b/image.c
@@ -602,7 +602,7 @@ void img_render(img_t *img)
sx = 0;
sw = img->w;
dx = img->x;
- dw = img->w * img->zoom;
+ dw = MAX(img->w * img->zoom, 1);
}
if (img->y <= 0) {
sy = -img->y / img->zoom + 0.5;
@@ -613,7 +613,7 @@ void img_render(img_t *img)
sy = 0;
sh = img->h;
dy = img->y;
- dh = img->h * img->zoom;
+ dh = MAX(img->h * img->zoom, 1);
}
win_clear(win);