... off-by one size in special cases
The last commit wasn't drastic enough. We changed SIGNED_ROUND()
to use RINT(), which, in turn, may use rint(). However, rint()
effectively breaks ties to even, so that we get stuff like
'rint (1.5) - rint (0.5) == 2.0 - 0.0 == 2.0'. This can't be
good--it's entirely possible that we're bitten by this in other
cases without noticing.
Avoid rint() entirely in RINT(), and always use 'floor (x) + 0.5'
instead, which always breaks ties up. Hopefully, this doesn't
break anything else...
... 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.
...instead of transforming it
Add gimp_matrix3_will_explode() which determines if a transform
matrix will blow up something in a rectangle to infinity, and use
the function so set both the GIMP and GEGL code paths to clip the
transform to the input size.
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
The foo_DEPENDENCIES rule replaces the default dependencies, where
EXTRA_foo_DEPENDENCIES just appends to it. This was causing libgimp
and libgimpui to build out of order.
ROUND() is consistent only on positive values, and bad rounding
creates an offset when negative values are involved. Introduce
SIGNED_ROUND() and use it in gimprectangletool.c. It should probably
be used in much more places.
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.
The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-04-21 Michael Natterer <mitch@gimp.org>
* libgimpmath/gimpmd5.c (gimp_md5_get_digest): moving a cast to
the right parameter fixes two warnings.
svn path=/trunk/; revision=25504
2008-03-29 Sven Neumann <sven@gimp.org>
* libgimpmath/gimpmd5.[ch]: removed implementation of the MD5
algorithm and delegate to GChecksum instead.
* libgimpmath/Makefile.am
* libgimpmath/test-md5.c: removed test of the MD5
implementation.
svn path=/trunk/; revision=25302
2007-06-25 Sven Neumann <sven@gimp.org>
* configure.in: removed extra check for gthread and fold it into
the GLIB and GTK checks.
* */Makefile.am: changed accordingly.
* app/main.c (main): always call g_thread_init().
svn path=/trunk/; revision=22832
2006-10-25 Simon Budig <simon@gimp.org>
* app/vectors/vectors-enums.h: Oops. Need to specify both
pdb-skip and skip.
* libgimp/gimp.def
* libgimpconfig/gimpconfig.def
* libgimpmath/gimpmath.def
* libgimpthumb/gimpthumb.def
* libgimpwidgets/gimpwidgets.def: .def-file maintenance. Hope my
changes are correct...
With the help from
nm .libs/libgimpfoo-2.0.so |\
sed -ne "s/.* T \([a-zA-Z0-9][a-zA-Z0-9_]*\)/\t\1/p" |\
(echo EXPORTS ; LC_ALL=C sort )
* libgimpwidgets/gimppageselector.c: marked stretch_frame_image()
as static.
* libgimp/gimpenums.c.tail
* libgimp/gimpenums.h
* tools/pdbgen/enums.pl: regenerated.
* devel-docs/libgimp/tmpl/gimpfontselectbutton.sgml: this changed
again. WTF?
2004-07-23 Sven Neumann <sven@gimp.org>
* libgimpcolor/Makefile.am
* libgimpcolor/test-color-parser.c: added a simple unit test
framework for the color parser.
* libgimpcolor/gimprgb-parse.c: fixed parsing of rgba() values.
* libgimpmath/test-md5.c: minor cleanup.