Commit e8b37a7a authored by Ell's avatar Ell

Bug 788461 - Selection with a Fixed size is created with an ...

... off-by one size in special cases

SIGNED_ROUND(), which is used by GimpToolRectangle, among other
things, used to round negative values which lie exactly between
two integers, i.e., -foo.5, down.  This could lead to the rectangle
being one pixel bigger than expected, in either dimension, when one
of its edges had a negative coordinate, and the opposite edge had a
positive coordinate.

Fix SIGNED_ROUND() to always round such values up, regardless of
sign.
parent 9fee677b
......@@ -84,7 +84,7 @@ G_BEGIN_DECLS
*
* This macro rounds its argument @x to the nearest integer.
**/
#define SIGNED_ROUND(x) ((int) ((((x) < 0) ? (x) - 0.5 : (x) + 0.5)))
#define SIGNED_ROUND(x) ((int) RINT (x))
/**
* SQR:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment