2005-09-03 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_get_orig_image)
(gimp_paint_core_get_orig_proj): replaced manual calculation of
the offset of a pixel in a tile (marked as /* dubious... */ for a
reason) by simply using the offset parameters of tile_data_pointer().
2005-09-03 Michael Natterer <mitch@gimp.org>
* app/base/pixel-region.[ch]: some general cleanup.
(pixel_region_init_temp_buf)
(pixel_region_init_data): new functions which initialize pixel
regions on TempBufs and on raw contiguous arrays of pixel data.
(pixel_region_configure): fixed a bug that has probably been there
forever: when processing contiguous (non-tiled) data, interpret
the original x and y coordinates of the region as offsets into
the data. Before this fix, the initial x and y were simply ignored
(by using them in a broken way), thus always forcing the upper
left corner of the region being the beginning of the passed data.
Lots of code was working around this problem by setting the
pixel_region's data pointer to the proper starting pixel of the
region in the middle the buffer.
* libgimp/gimppixelrgn.c: some general cleanup.
(gimp_pixel_rgn_configure): same fix as above. Fortunately, nobody
seems to know that libgimp pixel regions can be used on arrays of
data, just as core ones. Only two plug-ins were using this
feature, and they are antique and written by spencer and federico,
respectively. They both don't use offsets into the buffers and are
not affected by this change. It's highly unlikely that anybody out
there knows/uses this feature, so it can IMHO be safely changed.
* app/base/temp-buf.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-combine.c
* app/core/gimpdrawable-preview.c
* app/core/gimpimage-preview.c
* app/core/gimplayer.c
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimppaintcore.c
* app/paint/gimpsmudge.c
* app/tools/gimpiscissorstool.c
* app/tools/gimppainttool.c: use the pixel_region_init_foo()
functions instead of initializing regions of TempBufs and raw data
manually. Removed lots of workarounds for the broken offset
handling. The changed places of code are much more readable now.
2005-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.[ch] (gimp_edit_paste_as_new): don't create a
display here.
(gimp_edit_named_cut)
(gimp_edit_named_copy)
(gimp_edit_named_copy_visible): new functions containing named
buffer wrappers around the functions affecting the global buffer
only.
* app/actions/edit-commands.c: use the new functions instead of
implementing them here, create a display for the image returned
by paste as new.
* app/actions/buffers-commands.c
* app/widgets/gimptoolbox-dnd.c: create displays here too.
* tools/pdbgen/pdb/edit.pdb: added wrappers for paste as new and
wrappers for all the cut/copy/paste named stuff.
Fixes bug #315130. Cleaned up and de-obfuscated.
* libgimp/gimp.def: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpedit_pdb.[ch]: regenerated.
2005-09-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: allow to popup menus on
empty container views using the standard Shift-F10 keybinding.
2005-09-02 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c
* app/widgets/gimpwidgets-utils.[ch]: dropped the labels from text
tool options that have icons. Reduces visual clutter.
2005-09-02 Michael Natterer <mitch@gimp.org>
* tools/test-clipboard.c (test_clipboard_copy_callback): don't
quit the main loop after transferring the data to GTK, it needs a
running main loop to get the chunks tranferred to X.
2005-09-02 Sven Neumann <sven@gimp.org>
* app/dialogs/convert-dialog.c
* app/dialogs/image-merge-layers-dialog.c
* app/dialogs/layer-add-mask-dialog.c
* app/dialogs/offset-dialog.c: use verbs instead of "OK" in the
confirmative dialog button.
2005-09-02 Tor Lillqvist <tml@novell.com>
* authors.xml: Mark people as documenter or artist, based on
ChangeLogs and other information. Remove translator names, they
are in the respective .po files.
2005-09-02 Sven Neumann <sven@gimp.org>
* plug-ins/jpeg/jpeg-load.c (load_image)
* plug-ins/jpeg/jpeg-save.c (save_image): removed tile cache again,
it doesn't help for the way the plug-in accesses the pixels.
2005-09-01 Sven Neumann <neumann@jpk.com>
* app/core/gimppalette.[ch]: reverted, it duplicates existing
functionality.
* app/core/gimppalette-import.c
(gimp_palette_import_from_indexed_image): name the colors using
their index in the colormap.
2005-08-31 Michael Natterer <mitch@gimp.org>
* app/dialogs/preferences-dialog.c
(prefs_check_button_add_with_icon): added optional size group
parameter and add the icon to the group.
(prefs_dialog_new): align the icons on the tool options and
toolbox pages.
2005-08-29 Michael Natterer <mitch@gimp.org>
The previous commit added tons of code just to completely break
clone align behavior. Reverted lots of the changes and do the
sample-merged stuff at the innermost place (gimp_clone_motion).
This change also enables changing sample-merged between paint
strokes.
* app/paint/gimpclone.[ch] (struct GimpClone): changed member
"src_pickable" back to "src_drawable".
(gimp_clone_paint): completely reverted.
(gimp_clone_motion): do the drawable/projection -> pickable
stuff and drawable offset handling here.
Fixed signal handling to connect to the drawable's "removed"
signal (not "disconnect", eek). Disconnect from the signal once
the drawable has been removed.
* app/tools/gimpclonetool.c: changed accordingly.
2005-08-29 Michael Natterer <mitch@gimp.org>
* plug-ins/common/gif.c: added toggles which allow to always use
the frame delay and disposal entered in the dialog, overriding the
ones specified in the layer names. Fixes bug #314726. Also fixed
missing and non-working mnemonics.
2005-08-29 Sven Neumann <sven@gimp.org>
* plug-ins/common/poppler.c: retitled dialog to "Import from PDF"
and changed the confirmative button label to "Import".
2005-08-28 Michael Natterer <mitch@gimp.org>
Immplement "Sample Merged" for the clone tool. Fixes bug #123627.
* app/paint/gimppaintcore.[ch] (struct GimpPaintCore): added
members "saved_proj_tiles" which stores the unmodified projection,
"orig_proj_buf" which stores the unmodified temp paint application
buf and "use_saved_proj" which controls if all the additional
stuff should be allocated and managed.
(gimp_paint_core_start): allocate the saved_proj_tiles if needed.
(gimp_paint_core_get_orig_proj): new function like
gimp_paint_core_get_orig_image() which returns unmodified
projection pixels for paint application.
(gimp_paint_core_validate_saved_proj_tiles): new function like
gimp_paint_core_validate_undo_tiles() which copies the tiles that
will be dirtied to saved_proj_tiles.
(gimp_paint_core_paste): call above save_proj_tiles() so
projection tiles are saved before dirtying them.
* app/paint/gimpclone.[ch]: replaced member src_drawable by
src_pickable and use the image's projection if sample_merged it
TRUE. Adjust src offsets accordingly and use GimpPaintCore's new
get_orig_proj() API to get the src pixels.
* app/paint/gimpcloneoptions.[ch]: added boolean "sample_merged"
property.
* app/tools/gimpclonetool.c: follow GimpClone's src_drawable ->
src_pickable change.
(gimp_clone_tool_button_press): set the paint_core's
"use_saved_proj" boolean before chaining up.
(gimp_clone_options_gui): add a "Sample Merged" toggle button.
2005-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpviewrendererpalette.c
(gimp_view_renderer_palette_init): initialize renderer->columns
to != 0 to avoid floating point exceptions on initial layout
calculation. Fixes bug #314663.
2005-08-27 Michael Schumacher <schumaml@cvs.gnome.org>
* plug-ins/common/gradmap.c: applied a patch by David Gowers,
which makes palette-map behave the same as gradient-map. Fixes bug
313458.
2005-08-26 Sven Neumann <sven@gimp.org>
* plug-ins/common/svg.c: deal with SVG API change. This is a
compile-time check and thus somewhat ugly because it requires a
recompile of the plug-in when updating librsvg. Fixes bug #314400.
2005-08-26 Tor Lillqvist <tml@novell.com>
* app/plug-in/plug-in.c (plug_in_prep_for_exec, plug_in_open):
Instead of passing a child_setup function whose body is ifdeffed
out on Win32 to g_spawn_async(), pass NULL for child_setup on
Win32. Newer g_spawn_async() implementations on Win32 warn if
child_setup functions are attempted to be used, as they don't make
sense because without any fork(), they are called in the parent
process.
2005-08-25 Michael Natterer <mitch@gimp.org>
* configure.in: define FOO_DISABLE_DEPRECATED for the new stable
versions of GTK+ and Pango.
Check for poppler >= 0.4.1, they did another API change.
* plug-ins/common/poppler.c: and some more #ifdefs to
poppler_page_render_to_pixbuf().
2005-08-25 Sven Neumann <sven@gimp.org>
* libgimpbase/gimputils.h (gimp_canonicalize_identifier): sync
parameter name with implementation to please gtk-doc.