From 0a99c2062b5b6f5cb95cab7aa79946acb6a7fc93 Mon Sep 17 00:00:00 2001 From: cristy Date: Fri, 7 Nov 2014 12:39:10 +0000 Subject: [PATCH] --- MagickCore/geometry.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/MagickCore/geometry.c b/MagickCore/geometry.c index 0fcd406f5..877fa1a88 100644 --- a/MagickCore/geometry.c +++ b/MagickCore/geometry.c @@ -1249,6 +1249,8 @@ static inline size_t MagickMax(const size_t x, MagickExport MagickStatusType ParseMetaGeometry(const char *geometry,ssize_t *x, ssize_t *y,size_t *width,size_t *height) { +#define GeometryEpsilon (1.0e-9) + GeometryInfo geometry_info; @@ -1375,7 +1377,7 @@ MagickExport MagickStatusType ParseMetaGeometry(const char *geometry,ssize_t *x, Geometry is a maximum area in pixels. */ (void) ParseGeometry(geometry,&geometry_info); - area=geometry_info.rho; + area=geometry_info.rho+GeometryEpsilon; distance=sqrt((double) former_width*former_height); scale.x=former_width/(distance/sqrt(area)); scale.y=former_height/(distance/sqrt(area)); @@ -1383,11 +1385,6 @@ MagickExport MagickStatusType ParseMetaGeometry(const char *geometry,ssize_t *x, { *width=(unsigned long) (former_width/(distance/sqrt(area))); *height=(unsigned long) (former_height/(distance/sqrt(area))); - while (((*width+1)*(*height+1)) <= area) - { - (*width)++; - (*height)++; - } } former_width=(*width); former_height=(*height); -- 2.40.0