Commit graph

20573 commits

Author SHA1 Message Date
Sven Neumann d32097528e if GIMP_UNSTABLE is undefined before calling exit() call tile_swap_exit(),
2007-06-13  Sven Neumann  <sven@gimp.org>

	* app/app.c (app_exit_after_callback): if GIMP_UNSTABLE is
	undefined before calling exit() call tile_swap_exit(), not
	base_exit().

svn path=/trunk/; revision=22773
2007-06-13 14:01:37 +00:00
Sven Neumann c5a48bbea0 call tile_cache_exit() before tile_swap_exit(). tile_cache_exit() may use
2007-06-13  Sven Neumann  <sven@gimp.org>

	* app/base/base.c (base_exit): call tile_cache_exit() before
	tile_swap_exit(). tile_cache_exit() may use the tile swap in
	pathological cases.

	* app/base/tile-cache.c (tile_cache_exit): warn if the tile cache
	is not empty.

svn path=/trunk/; revision=22772
2007-06-13 13:36:00 +00:00
Sven Neumann 39fb488662 minor cleanup.
2007-06-13  Sven Neumann  <sven@gimp.org>

	* app/base/tile-cache.c: minor cleanup.

svn path=/trunk/; revision=22771
2007-06-13 13:16:05 +00:00
Mukund Sivaraman 0a1285fdae small fix to the previous commit in how layers are skipped.
2007-06-13  Mukund Sivaraman  <muks@mukund.org>

        * plug-ins/common/tiff-load.c: small fix to the previous commit
        in how layers are skipped.


svn path=/trunk/; revision=22770
2007-06-13 11:43:08 +00:00
Mukund Sivaraman a8ab7fad18 don't load any layers from a TIFF directory which don't match the mode of
2007-06-13  Mukund Sivaraman  <muks@mukund.org>

        * plug-ins/common/tiff-load.c: don't load any layers from a TIFF
        directory which don't match the mode of the first image in the TIFF 
        directory.


svn path=/trunk/; revision=22769
2007-06-13 09:57:43 +00:00
Sven Neumann c59478af2a added errors_exit() and unset the Gimp reference. Errors may occur after
2007-06-13  Sven Neumann  <sven@gimp.org>

	* app/errors.[ch]: added errors_exit() and unset the Gimp
	reference. Errors may occur after the Gimp object has been finalized.

	* app/app.c (app_run): call errors_exit().

svn path=/trunk/; revision=22768
2007-06-13 09:27:32 +00:00
Raphaël Quinet 64c342f406 Fixed minor typo in ChangeLog message
svn path=/trunk/; revision=22767
2007-06-12 19:37:21 +00:00
Raphael Quinet eab19066db Instead of passing any file to libexif blindly, check first that some JPEG
2007-06-12  Raphael Quinet  <raphael@gimp.org>

	* plug-ins/jpeg/jpeg-load.c (load_image): Instead of passing any
	file to libexif blindly, check first that some JPEG APP1 marker
	contains the EXIF header.

	* plug-ins/jpeg/jpeg-exif.c (jpeg_apply_exif_data_to_image):
	removed the tests that were checking for the presense of some EXIF
	tags such as the EXIF version before deciding if the data should
	be processed or not (bug #446809).

svn path=/trunk/; revision=22766
2007-06-12 18:13:09 +00:00
Sven Neumann 5ead9fdacd initialize the GtkAdjustment used for the rotation angle; fixes bug
2007-06-12  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/curve_bend.c: initialize the GtkAdjustment used
	for the rotation angle; fixes bug #446681.

svn path=/trunk/; revision=22765
2007-06-12 14:19:01 +00:00
Sven Neumann 345f007049 eliminate calls to sqrt().
2007-06-12  Sven Neumann  <sven@gimp.org>

	* app/base/boundary.c (simplify_subdivide): eliminate calls to sqrt().

svn path=/trunk/; revision=22764
2007-06-12 10:20:36 +00:00
Sven Neumann dfeaec0861 applied slightly modified patch from Eric Ross that adds support for
2007-06-12  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/psd-load.c: applied slightly modified patch 
from
	Eric Ross that adds support for loading long layer names from 
the
	extra layer data section (bug #445316).


svn path=/trunk/; revision=22763
2007-06-12 06:37:34 +00:00
Sven Neumann 5d14b8d2a4 Applied patch from Zbigniew Chyla that further improves the
2007-06-11  Sven Neumann  <sven@gimp.org>

        Applied patch from Zbigniew Chyla that further improves the
        boundary_sort() performance (bug #388538):

        * base/boundary.c (cmp_xy): use "y" coordinate as more 
significant
        one, i.e. compare (ay, ax) to (by, bx), not (ax, ay) to (bx, 
by).

        * configure.in: bumped version to 2.3.19.


svn path=/trunk/; revision=22762
2007-06-11 21:29:59 +00:00
Sven Neumann e83fe71712 Made 2.3.18 development release.
2007-06-11  Sven Neumann  <sven@gimp.org>

        * Made 2.3.18 development release.

svn path=/trunk/; revision=22760
2007-06-11 21:16:08 +00:00
Michael Schumacher ae37e4e257 if load_image fails, return GIMP_PDB_EXECUTION_ERROR
2007-06-11  Michael Schumacher  <schumaml@cvs.gnome.org>

	* plug-ins/common/raw.c (run): if load_image fails, return
	GIMP_PDB_EXECUTION_ERROR 

	* plug-ins/twain/twain.c (run): added missing ;

svn path=/trunk/; revision=22759
2007-06-11 20:40:32 +00:00
Sven Neumann 13e518b138 initialize width and height to zero. Fixes bug #446005.
2007-06-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpviewrenderer.c (gimp_view_renderer_init):
	initialize width and height to zero. Fixes bug #446005.


svn path=/trunk/; revision=22757
2007-06-11 20:01:54 +00:00
Sven Neumann 54caf4fbd4 don't disable image previews when layer previews are disabled. We do not
2007-06-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-preview.c: don't disable image previews 
when
	layer previews are disabled. We do not any longer create the 
image
	preview from the layer previews.

	* app/core/gimpimagefile.c
	* app/widgets/gimpthumbbox.c
	* tools/pdbgen/pdb/image.pdb: thumbnail rendering is not any
	longer disabled if layer previews are turned off.

	* app/config/gimprc-blurbs.h (THUMBNAIL_SIZE_BLURB): removed 
note
	that has become invalid by the change above.

	* app/core/gimpitem-preview.c: cosmetics.

	* app/pdb/image_cmds.c: regenerated.


svn path=/trunk/; revision=22756
2007-06-11 19:26:31 +00:00
Sven Neumann 3ce6de2bb1 moved run_mode initialisation up a few lines.
2007-06-11  Sven Neumann  <sven@gimp.org>

	* plug-ins/twain/twain.c (run): moved run_mode initialisation up 
a
	few lines.


svn path=/trunk/; revision=22755
2007-06-11 18:02:20 +00:00
Sven Neumann e23f585f07 removed unused variable.
2007-06-11  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpscaletool.c: removed unused variable.

svn path=/trunk/; revision=22754
2007-06-11 16:07:59 +00:00
Mukund Sivaraman f5d3c6e89f Fixed error in last commit message
svn path=/trunk/; revision=22753
2007-06-11 13:38:22 +00:00
Mukund Sivaraman 1586b0e5a9 bumped required libexif version to 0.6.15. This seems to fix #358117 for
2007-06-11  Mukund Sivaraman  <muks@mukund.org>

        * configure.in: bumped required libexif version to 0.6.15. This
        seems to fix #358117 for the various test images that were reported
        in it, and its duplicates. This version is in Debian unstable and   
        Fedora 7.


svn path=/trunk/; revision=22752
2007-06-11 13:37:05 +00:00
Sven Neumann 04a509b0fe cosmetics
svn path=/trunk/; revision=22751
2007-06-11 07:12:19 +00:00
Sven Neumann 2cb54ef2a4 Applied the second patch from Zbigniew Chyla. Improves boundary_sort()
2007-06-11  Sven Neumann  <sven@gimp.org>

	Applied the second patch from Zbigniew Chyla. Improves
	boundary_sort() performance by reducing its time complexity from
	O(n*n) to ~O(n*log n) (bug #388538).

	* app/base/boundary.c (boundary_sort): prepare two arrays of
	pointers to segments, each sorted by different pair of
	coordinates ((x1,y1) and (x2,y2)); use new find_segment(),
	passing both arrays to it.
	(find_segment): new implementation that employs binary search to
	find matching segment, using sorted arrays prepared by
	boundary_sort().


svn path=/trunk/; revision=22750
2007-06-11 07:04:20 +00:00
Sven Neumann 65385a4781 added gimp_image_resize_to_selection().
2007-06-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-resize.[ch]: added
	gimp_image_resize_to_selection().

	* app/actions/image-actions.c
	* app/actions/image-commands.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: added an action and a menu item for 
it.
	Fixes bug #335672.

	* plug-ins/common/align_layers.c: resolved a conflicting 
mnemonic.


svn path=/trunk/; revision=22749
2007-06-09 17:17:30 +00:00
Sven Neumann d7c712403c fixed parameter passed to gimp_image_get_background(). Fixes bug #445719.
2007-06-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpselection.c (gimp_selection_extract): fixed
	parameter passed to gimp_image_get_background(). Fixes bug 
#445719.


svn path=/trunk/; revision=22748
2007-06-09 16:43:25 +00:00
Kevin Cozens dabf16b162 Applied patch from Daniel Richard G. that defines SCHEME_EXPORT as extern
2007-06-08  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.h: Applied patch from Daniel
	Richard G. that defines SCHEME_EXPORT as extern for non-Windows
	systems. Fixes bug #444964.

svn path=/trunk/; revision=22747
2007-06-08 15:32:23 +00:00
Sven Neumann d3f8ba267e same change here.
* app/core/gimpprojection.c (gimp_projection_invalidate):
	same change here.

svn path=/trunk/; revision=22746
2007-06-08 12:04:42 +00:00
Sven Neumann 5300747967 use a bit shift instead of a shift and a division.
2007-06-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_alloc_levels): use
	a bit shift instead of a shift and a division.

svn path=/trunk/; revision=22745
2007-06-08 11:53:11 +00:00
Sven Neumann 3ae875bbf5 Applied parts of a patch from Daniel Richard G. (bug #445374):
2007-06-08  Sven Neumann  <sven@gimp.org>

	Applied parts of a patch from Daniel Richard G. (bug #445374):

	* themes/Default/images/Makefile.am
	* data/tips/Makefile.am
	* menus/Makefile.am: more srcdir/builddir tweaks.

svn path=/trunk/; revision=22744
2007-06-08 11:11:57 +00:00
Sven Neumann 3ce8d74b14 #define GIMP_VIEWABLE_PRIORITY_IDLE, which is even lower than
2007-06-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.h: #define GIMP_VIEWABLE_PRIORITY_IDLE,
	which is even lower than G_PRIORITY_LOW.

	* app/core/gimpundo.c
	* app/widgets/gimpviewrenderer.c: create previews with
	GIMP_VIEWABLE_PRIORITY_IDLE so that they are run after the
	projection has been invalidated.


svn path=/trunk/; revision=22743
2007-06-07 23:05:02 +00:00
Sven Neumann 345855a711 formatting.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.c: formatting.


svn path=/trunk/; revision=22742
2007-06-07 21:55:46 +00:00
Manish Singh d2d999627f display better error message if PyGTK is too old.
2007-06-07  Manish Singh  <yosh@gimp.org>

        * configure.in: display better error message if PyGTK is too old.

svn path=/trunk/; revision=22741
2007-06-07 19:31:03 +00:00
Sven Neumann a9cec3c05f folded into a single loop.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_validate_pyramid_tile):
	folded into a single loop.

svn path=/trunk/; revision=22740
2007-06-07 15:43:55 +00:00
Sven Neumann e20966e7c9 some loop unrolling
svn path=/trunk/; revision=22739
2007-06-07 15:29:25 +00:00
Sven Neumann a67a70b559 weight the pixels by their alpha value.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_write_quarter):
	weight the pixels by their alpha value.

svn path=/trunk/; revision=22738
2007-06-07 15:20:49 +00:00
Sven Neumann 916cb45d93 removed the boolean from the GimpImage struct that used to track whether
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: removed the boolean from the GimpImage
	struct that used to track whether the preview was valid.
	(gimp_image_invalidate_preview): just set the preview to NULL.

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview):
	construct the preview from the projection instead of compositing
	the drawable previews.

svn path=/trunk/; revision=22737
2007-06-07 14:25:28 +00:00
Sven Neumann 916c53f0d8 lazily allocate the tile managers of the image pyramid.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c: lazily allocate the tile managers of
	the image pyramid.	
	(gimp_projection_write_quarter): minor optimization.

svn path=/trunk/; revision=22736
2007-06-07 14:21:49 +00:00
Sven Neumann f322854007 app/text/Makefile.am app/core/Makefile.am app/tools/Makefile.am
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/core/Makefile.am
	* app/tools/Makefile.am
	* app/display/Makefile.am
	* app/widgets/Makefile.am
	* app/base/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* libgimp/Makefile.am
	* libgimpthumb/Makefile.am
	* tools/pdbgen/Makefile.am
	* libgimpwidgets/Makefile.am: applied the remaining parts of the
	patch from Daniel Richard G. to fix out-of-source-tree builds
	(bug #444960).

svn path=/trunk/; revision=22735
2007-06-07 13:19:44 +00:00
Sven Neumann 2a3fac83a9 reimplemented without using a logarithm.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_get_level):
	reimplemented without using a logarithm.

svn path=/trunk/; revision=22734
2007-06-07 10:35:26 +00:00
Sven Neumann 1c11948985 app/dialogs/Makefile.am when calling xsltproc, use the stylesheet from
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/Makefile.am
	* menus/Makefile.am: when calling xsltproc, use the stylesheet from
	$(srcdir). From the patch attached to bug #444960.

svn path=/trunk/; revision=22733
2007-06-07 08:40:36 +00:00
Sven Neumann af942b5bdb bail out with an error if xsltproc is missing and authors.h needs to be
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/Makefile.am: bail out with an error if xsltproc is
	missing and authors.h needs to be regenerated.

	* libgimpwidgets/Makefile.am: let gimpwidgets-private.lo, not the
	C file, depend on gimp-wilber-pixbufs.h. From the patch attached to
	bug #444960.

svn path=/trunk/; revision=22732
2007-06-07 08:35:20 +00:00
Sven Neumann 5c9a69f81f converted to a GimpDialog.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/tips-dialog.c: converted to a GimpDialog.


svn path=/trunk/; revision=22731
2007-06-06 22:42:45 +00:00
Sven Neumann a4079a37db minor API cleanup. Use horizontal and vertical scale to determine the
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.[ch]: minor API cleanup. Use 
horizontal
	and vertical scale to determine the pyramid level to use.

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-render.c: follow the API change.


svn path=/trunk/; revision=22730
2007-06-06 21:40:31 +00:00
Sven Neumann f7b73192c0 ChangeLog formatting and a NEWS update
svn path=/trunk/; revision=22729
2007-06-06 21:00:34 +00:00
Sven Neumann 2b401b8691 cosmetics.
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c: cosmetics.

svn path=/trunk/; revision=22728
2007-06-06 13:59:41 +00:00
Martin Nordholts 7917611e53 Implemented an image pyramid for the GimpProjection. An image pyramid
2007-06-06  Martin Nordholts  <martinn@svn.gnome.org>

	Implemented an image pyramid for the GimpProjection. An image pyramid
	caches a projection at several sizes, causing the rendering code not to
	have to swap in all tiles of a (potentially) large image; it can use
	small versions of the projection if the user is zoomed out.

	The image pyramid also imroves visual quality, especially at zoom levels
	where there is a pyramid level that matches perfectly (i.e. at e.g. 50%,
	25%, and 12.5% zoom). A step on the right track for bug #76096.

	* app/core/gimpprojection.[ch]: Adjusted to make use of an image
	pyramid. GimpProjection now keeps an array of TileManager:s, one per
	pyramid level. Renamed _alloc_tiles to _alloc_levels.

	* app/display/gimpdisplayshell-draw.c: (gimp_display_shell_draw_area):
	Use the right GimpProjection level when drawing

	* app/display/gimpdisplayshell-render.c: (render_image_init_info_full):
	Setup RenderInfo with level in mind

	* app/base/tile-manager.[ch]: Extended API a bit, nothing complicated.

	* app/base/tile-manager-private.h (struct _TileManager): Keep a pointer
	to the level below for use in an image pyramid.


svn path=/trunk/; revision=22727
2007-06-06 13:45:44 +00:00
Sven Neumann 67ec846b73 corrected a bug introduced by my last commit
svn path=/trunk/; revision=22726
2007-06-06 13:26:48 +00:00
Sven Neumann 5ca92142ad cleanup.
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview): cleanup.

svn path=/trunk/; revision=22725
2007-06-06 12:56:50 +00:00
Sven Neumann 806b92fb83 always use scale_region_lanczos() for LANCZOS interpolation. Fixes bug
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/scale-funcs.c (scale_region): always use
	scale_region_lanczos() for LANCZOS interpolation. Fixes bug #443640.

svn path=/trunk/; revision=22724
2007-06-06 11:55:38 +00:00
Sven Neumann 097b1768a5 the projection is 2 bytes per pixel for grayscale images.
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_estimate_memsize):
	the projection is 2 bytes per pixel for grayscale images.

svn path=/trunk/; revision=22723
2007-06-06 10:48:00 +00:00
Sven Neumann 798dd95499 #include "gimprojection.h"
svn path=/trunk/; revision=22722
2007-06-06 10:13:44 +00:00