summaryrefslogtreecommitdiff
path: root/source/fitz/geometry.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2015-02-20 18:58:31 +0000
committerRobin Watts <robin.watts@artifex.com>2015-02-24 10:08:45 +0000
commit490d1d9e4aee082f08c2a9b097c4910796908d55 (patch)
tree8d6e3991bc6d9e8f91cda99fc85f32e44718c6d5 /source/fitz/geometry.c
parentccb4ecae418afa1e4f012b1092a8114b78a1a38a (diff)
downloadmupdf-490d1d9e4aee082f08c2a9b097c4910796908d55.tar.xz
fz_irect_from_rect; don't make a non empty irect from an empty rect.
This avoids up problems with a forthcoming commit.
Diffstat (limited to 'source/fitz/geometry.c')
-rw-r--r--source/fitz/geometry.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/source/fitz/geometry.c b/source/fitz/geometry.c
index f65373b8..b6b6533e 100644
--- a/source/fitz/geometry.c
+++ b/source/fitz/geometry.c
@@ -316,10 +316,20 @@ const fz_irect fz_unit_bbox = { 0, 0, 1, 1 };
fz_irect *
fz_irect_from_rect(fz_irect *restrict b, const fz_rect *restrict r)
{
- b->x0 = fz_clamp(floorf(r->x0), MIN_SAFE_INT, MAX_SAFE_INT);
- b->y0 = fz_clamp(floorf(r->y0), MIN_SAFE_INT, MAX_SAFE_INT);
- b->x1 = fz_clamp(ceilf(r->x1), MIN_SAFE_INT, MAX_SAFE_INT);
- b->y1 = fz_clamp(ceilf(r->y1), MIN_SAFE_INT, MAX_SAFE_INT);
+ if (fz_is_empty_rect(r))
+ {
+ b->x0 = 0;
+ b->y0 = 0;
+ b->x1 = 0;
+ b->y1 = 0;
+ }
+ else
+ {
+ b->x0 = fz_clamp(floorf(r->x0), MIN_SAFE_INT, MAX_SAFE_INT);
+ b->y0 = fz_clamp(floorf(r->y0), MIN_SAFE_INT, MAX_SAFE_INT);
+ b->x1 = fz_clamp(ceilf(r->x1), MIN_SAFE_INT, MAX_SAFE_INT);
+ b->y1 = fz_clamp(ceilf(r->y1), MIN_SAFE_INT, MAX_SAFE_INT);
+ }
return b;
}