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.
This commit is contained in:
@ -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:
|
||||
|
Reference in New Issue
Block a user