2007-09-26 Sven Neumann <sven@gimp.org>
* app/core/gimpimageundo.c (gimp_image_undo_pop): call
gimp_color_managed_profile_changed() if an icc-profile is
attached
or removed from an image by an undo operation (bug #475983).
svn path=/trunk/; revision=23661
2007-09-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added a load_proc member to GimpImage
and getters and setters for it.
* app/file/file-open.c (file_open_image): set the load
procedure,
but only if it hasn't been set already. Use the MIME type from
the
load procedure that is set on the image.
* tools/pdbgen/pdb/fileops.pdb (file_load_invoker): set the load
procedure. This causes it to be set when the URI plug-in calls
gimp-file-load to load the image.
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimpimagepropview.c
(gimp_image_prop_view_label_set_filetype): use the MIME type
from
the load procedure, in case that no save procedure is set.
svn path=/trunk/; revision=23597
2007-09-15 Michael Natterer <mitch@gimp.org>
Make layer masks work consistently on layers without alpha.
Fixes bug #475548.
* app/core/gimplayer.c (gimp_layer_apply_mask): changed to work
on layers without alpha.
* app/actions/layers-commands.c (layers_add_mask_response): don't
automatically add an alpha channel when adding a layer mask.
svn path=/trunk/; revision=23555
2007-09-13 Sven Neumann <sven@gimp.org>
* app/core/gimpviewable.c: removed static variable debug_context
but keep the warnings about NULL contexts.
svn path=/trunk/; revision=23524
* app/core/gimp-transform-region.c: (supersample_dtest): do not invoke
supersampling for linear, bicubic and lanczos until the largest
horizontal/vertical difference between transformed pixel corners goes
above sqrt(2) (this ensures interpolation instead of supersampling is
used for rotation.)
svn path=/trunk/; revision=23509
2007-09-11 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_add_layers): make the first of
the added layers the active layer. Fixes bug #469752.
svn path=/trunk/; revision=23501
2007-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-region.c: Applied slightly reformatted
patch by Jakub Friedl and Daniel Hornung which ROUND()s the
floating point result values before assigning them to integers to
avoid reducing the output space to [0..254] (thus darkening the
image). Fixes bug #472806.
svn path=/trunk/; revision=23451
2007-08-15 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: remove GimpPlugInDebug typedef.
* app/plug-in/plug-in-types.h: added it here instead.
* app/core/gimpchannel-combine.h
* app/widgets/gimppropwidgets.[ch]: match parameter names
in .c, .h and API docs to make gtk-doc happy.
svn path=/trunk/; revision=23275
2007-08-07 Sven Neumann <sven@gimp.org>
* app/core/gimppalette-import.c
* app/core/gimppalette-load.[ch]: applied slightly modified version
of a patch from Nicola Archibald that adds support for importing
Adobe Color palette version 1 files (bug #316618).
svn path=/trunk/; revision=23134
2007-08-07 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_get_icc_profile): return NULL
if the parasite exists but it is empty.
svn path=/trunk/; revision=23132
2007-08-02 Michael Natterer <mitch@gimp.org>
Make sure image thumbnails that are saved or given to plugins are
constructed synchronously. Fixes bug #461703.
* app/core/gimpprojection.c (gimp_projection_pickable_flush):
invalidate the preview after constructing the projection.
* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
* tools/pdbgen/pdb/image.pdb (image_thumbnail): call
gimp_pickable_flush() on the projection so is constructed now, not
later.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=23105
2007-07-20 Sven Neumann <sven@gimp.org>
* app/menus/menus.c (menus_clear): overwrite the menurc with the
systemwide default. Only if that fails, delete the menurc file.
* app/dialogs/preferences-dialog.c: string change.
* app/core/gimp-user-install.c: formatting.
svn path=/trunk/; revision=22964
2007-07-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-quick-mask.[ch]: remember whether a channel
was active before quick mask was activated. Fixes bug #134371.
svn path=/trunk/; revision=22961
2007-07-17 Sven Neumann <sven@gimp.org>
* app/paint-funcs/Makefile.am
* app/paint-funcs/scale-funcs.[ch]
* app/paint-funcs/sample-funcs.[ch]: moved subsample_region() to
new file and also moved subsample_indexed_region() there.
* app/base/tile-manager-preview.c
* app/core/gimpdrawable-preview.c: changed accordingly.
svn path=/trunk/; revision=22953
2007-07-17 Sven Neumann <sven@gimp.org>
* app/base/tile-manager-preview.[ch]: added
tile_manager_get_sub_preview().
* app/core/gimpdrawable-preview.c: use the new function except
for
indexed drawables.
svn path=/trunk/; revision=22950
2007-07-17 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/base/tile-manager-preview.[ch]: added new file that holds
code
to create a preview from a tile manager.
* app/core/gimpbuffer.c
* app/core/gimpimage-preview.c: use the new function instead of
duplicating this code.
svn path=/trunk/; revision=22948
2007-07-17 Sven Neumann <sven@gimp.org>
* app/core/gimptoolinfo.c (gimp_tool_info_new): use the tool-info
identifier as the name of the tool-options object.
* app/paint/gimppaintoptions.c (gimp_paint_options_new): use the
paint-info identifier as the name of the paint-options object.
* app/paint/gimp-paint.c (gimp_paint_register): added parameter check.
* app/tools/gimp-tools.c (gimp_tools_init): formatting.
svn path=/trunk/; revision=22941
2007-06-27 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_clear)
(gimp_image_map_do): update the image, not the drawable so we
avoid constantly invalidating the drawable preview.
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
invalidate the drawable preview here.
* app/paint/gimppaintcore.c (gimp_paint_core_paste)
(gimp_paint_core_replace): clean up drawable offset handling code.
svn path=/trunk/; revision=22843
2007-06-27 Michael Natterer <mitch@gimp.org>
Removed useless image flushing which caused the image preview to
be updated needlessly:
* app/core/gimpimagemap.c (gimp_image_map_do): don't flush the
image when the idle rendering is completed, emit our own "flush"
signal instead just as for the incremental display updates.
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview):
when switching off the preview don't flush the image, only flush
projection and display.
svn path=/trunk/; revision=22842
2007-06-26 Michael Natterer <mitch@gimp.org>
Invalidate the image preview after the projection is
completely constructed. Fixes bug #449141.
* app/core/gimpmarshal.list: add VOID:BOOLEAN
* app/core/gimpimage.[ch]: add boolean parameter
invalidate_preview to the "flush" signal.
* app/core/gimpprojection.[ch]: add boolean member
invalidate_preview to the GimpProjection struct. Set it to TRUE if
it was TRUE in the image's "flush" signal. When the projection is
completely constructed after a flush, invalidate the image's
preview.
* app/display/gimpdisplay-handlers.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimpimagedock.c
* app/widgets/gimpimageeditor.c: changed callback signatures
accordingly.
svn path=/trunk/; revision=22840
2007-06-25 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-resize.c: applied patch from Geert
Jordaens that reimplements the algorithm to determine the largest
rectangle. Fixes bug #412473.
svn path=/trunk/; revision=22834
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
2007-06-22 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpprojection-construct.c (gimp_projection_initialize): Only
consider layers with combine mode Normal when testing if any layer
covers the entire specified area. Fixes bug #440154.
svn path=/trunk/; revision=22824
2007-06-22 Sven Neumann <sven@gimp.org>
* app/core/gimp.c (gimp_restore): note that loading fonts may
take
a while (on Win32 at least).
svn path=/trunk/; revision=22823
2007-06-21 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.[ch]: use gboolean for boolean parameters.
* app/base/tile-pyramid.c (tile_pyramid_get_memsize): pass TRUE
for sparse to tile_manager_get_memsize().
* app/base/tile.c
* app/base/tile-swap.c: minor cleanups.
* app/core/gimpprojection.c (gimp_projection_get_tiles_at_level):
inline the creation of the TilePyramid.
svn path=/trunk/; revision=22818
2007-06-21 Michael Natterer <mitch@gimp.org>
Make sure the image preview is only invalidated for visible
image changes (as it was before the change below).
* app/core/gimpimage.h (struct GimpImageFlushAccumulator): added
member "gboolean preview_invalidated".
* app/core/gimpimage.c (gimp_image_update): set it to TRUE here.
(gimp_image_real_flush): inavlidate the preview only if
flush_accum.preview_invalidated is TRUE.
svn path=/trunk/; revision=22817
2007-06-21 Michael Natterer <mitch@gimp.org>
Part one of fix for bug #449141 (fixes the projection but still
leaves some image previews unupdated).
* app/core/gimpimage.c (lots of functions)
* app/paint/gimppaintcore.c (gimp_paint_core_finish)
* app/file/file-open.c (file_open_sanitize_image): removed calls
to gimp_viewable_invalidate_preview(image).
* app/file/file-open.c (file_open_sanitize_image): update and
flush the entire image instead. Load plug-ins are not required to
call gimp_drawable_update() or anything else to make sure the
projection is up-to-date.
* app/core/gimpimage.c (gimp_image_real_flush): inavlidate the
image preview here because we now create it from the projection.
(this is still not the entirely correct place though).
svn path=/trunk/; revision=22815
2007-06-20 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/base/base-types.h
* app/base/tile-pyramid.[ch]: image pyramid code split out of
GimpProjection.
* app/core/gimpprojection.[ch]: use the new TilePyramid.
svn path=/trunk/; revision=22807
2007-06-16 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_get_level): take
the
image size into account and return the level that is actually
used.
Fixes bug #448185.
svn path=/trunk/; revision=22792
2007-06-14 Michael Natterer <mitch@gimp.org>
* app/core/gimpdatafactory.c (gimp_data_factory_data_foreach):
remove calls to container_freeze() and container_thaw()
(gimp_data_factory_data_reload)
(gimp_data_factory_data_free): add them here instead.
(gimp_data_factory_data_save): remove freeze/thaw calls here
without any replacement. The list doesn't change by saving its
items. Fixes insanely long quit time when there are many data
objects.
svn path=/trunk/; revision=22778