diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-01-05 11:30:52 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-01-05 11:30:52 +0400 |
commit | 93a6872a254f4507d07ffb17919a32e234715ce1 (patch) | |
tree | f98c2f2d8ecef10e82a44c6cfbcd427a5f677d4d /source/blender/editors | |
parent | a3f3c205cd89a687199723294f3fb029c48429b7 (diff) |
Fix #33761: Infinite loop in space_image if tile size > image size
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_image/image_draw.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c index 79130ccca2f..0534b9f4ffd 100644 --- a/source/blender/editors/space_image/image_draw.c +++ b/source/blender/editors/space_image/image_draw.c @@ -587,8 +587,8 @@ static void draw_image_buffer_tiled(SpaceImage *sima, ARegion *ar, Scene *scene, sima->curtile = ima->xrep * ima->yrep - 1; /* retrieve part of image buffer */ - dx = ibuf->x / ima->xrep; - dy = ibuf->y / ima->yrep; + dx = max_ii(ibuf->x / ima->xrep, 1); + dy = max_ii(ibuf->y / ima->yrep, 1); sx = (sima->curtile % ima->xrep) * dx; sy = (sima->curtile / ima->xrep) * dy; rect = get_part_from_buffer((unsigned int *)display_buffer, ibuf->x, sx, sy, sx + dx, sy + dy); |