2006-05-16 Sven Neumann <sven@gimp.org>
* app/app_procs.c (app_run): indentation.
* app/core/gimp.c (gimp_real_initialize)
* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
moved a call to status_callback() to the plug-in manager.
2006-05-14 Michael Natterer <mitch@gimp.org>
Allow to initialize a new layer mask with any of the image's
channels. Fixes bug #310207.
* libgimpbase/gimpbaseenums.h (enum GimpAddMaskType): added
value GIMP_ADD_CHANNEL_MASK.
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimplayer.[ch] (gimp_layer_create_mask): added
GimpChannel* parameter. Hacked the GIMP_ADD_SELECTION_MASK code a
bit so it can handle GIMP_ADD_CHANNEL_MASK too. Cleaned up the
function a bit.
* app/dialogs/layer-add-mask-dialog.[ch]: added a menu of the
image's channels.
* app/actions/layers-commands.c (layers_add_mask_response): pass
the channel selected in the menu to gimp_layer_create_mask().
* tools/pdbgen/pdb/layer.pdb (layer_create_mask): use the image's
active channel when GIMP_ADD_CHANNEL_MASK is passed. Fail if there
is no active channel.
* app/pdb/layer_cmds.c: regenerated.
2006-05-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_set_layer): find a
suitable display and fully set up the tool (just as the vector
tool does). Fixes bug #322182.
(gimp_text_tool_button_press): chain up to activate the tool.
(gimp_text_tool_set_drawable): removed redundant check.
2006-05-13 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_transform): add an alpha
channel if the layer has none and interpolation is requested.
Works around bug #315048, the real fix would be to implement
interpolation on layers without alpha.
2006-05-13 Michael Natterer <mitch@gimp.org>
Added some new text layer actions and menu items (bug #316299).
* app/actions/layers-actions.c: added actions for "Text to Path",
"Text along Path" and "Text to Selection" (use the alpha to
selection callback for text to selection)
* app/actions/layers-commands.[ch]: added
layers_text_to_vectors_cmd_callback() and
layers_text_along_vectors_cmd_callback().
* app/widgets/gimphelp-ids.h: help IDs for the new actions.
* menus/image-menu.xml.in
* menus/layers-menu.xml: added them to the layers menus in the
image window and the layers dialog.
2006-05-13 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/core/gimp-util.c : dont include "config/gimpbaseconfig.c", it
gives an redefinition error with msvc. Instead include
config/gimpbaseconfig.h and libgimpconfig/gimpconfig-path.h
* plug-ins/common/psd_save.c : fix c99isms (declarations only at the
start of a block)
2006-05-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpview.h: save 20 bytes per instance by using
single bits instead of 6 gbooleans.
* app/widgets/gimpview.c: some code cleanup.
* app/widgets/gimpviewrendererbrush.c: don't #include "gimpbrush.h".
* app/widgets/gimpviewrendererbuffer.c: #include "gimpviewable.h"
instead of "gimpbuffer.h".
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimagefile.c
* app/widgets/gimpviewrendererimagefile.h: micro cosmetics.
2006-05-11 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-query.c (gimp_pdb_proc_info): restored old
version of this function, it was correct after all (spotted by
Kevin Cozens).
2006-05-11 Michael Natterer <mitch@gimp.org>
Applied modified patch from Michael J. Hammel which allows to
remove all keyboard shortcuts from the menus (fixes bug #331839):
* app/dialogs/preferences-dialog.c: added "Remove all keyboard
shortcuts" button to the "Interface" section.
* app/menus/menus.[ch]: added menus_remove() which does the
shortcut removal.
2006-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c: use
gimp_viewable_get_size() and get rid of useless
local "brush" and "buffer" variables.
2006-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c: code cleanup, no logic changed.
* app/widgets/gimptoolbox-color-area.c: make the very first click
on the color area work as expected.
2006-05-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_new)
* app/core/gimpitem.c (gimp_item_configure)
* app/display/gimpdisplay.c (gimp_display_new): make sure IDs wrap
correctly at G_MAXINT and skip IDs which are currently in use.
It makes no sense to treat gimp->image_table and gimp->images
differently, since they keep the same set of images. And it makes
no sense to treat gimp->displays and gimp->images differently.
Moved all container adding into the objects' constructors:
* app/core/gimp.c (gimp_create_image): don't add the new image
to gimp->images here...
* app/core/gimpimage.c (gimp_image_constructor): ...but here.
* app/core/gimp-gui.c (gimp_create_display): don't add the new
display to gimp->displays here...
* app/display/gimpdisplay.c (gimp_display_new): ...but here.
2006-05-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_new): set the
alternative button order here...
* app/dialogs/file-open-dialog.c (file_open_dialog_new)
* app/dialogs/file-save-dialog.c (file_save_dialog_new): ...instead
of here.
2006-05-07 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
return early if the shell is already at the requested zoom level.
(paranoia addition for bug #165032, which was already fixed by the
fix for bug #164281):
2006-05-07 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpbrusheditor.c: hide the button bar, which is
useless for the brush editor. Fixes user confusion (bug #306704).
2006-05-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimppainttool.c: connect to the context's
"brush-changed" signal and update the brush core's brush
accordingly. Fixes inconsistent brush preview when not moving
the mouse while the brush changes (bug #323404).
2006-05-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: added "gboolean none_ok" members
to GimpParamSpecImageID, GimpParamSpecItemID and
GimpParamSpecDisplayID. If none_ok is set, allow '0' and '-1' as
valid IDs. Added "none_ok" parameter to all ID param spec
constructors.
* app/xcf/xcf.c: require real image IDs, but allow images without
active drawable.
* app/pdb/gimp-pdb-compat.c: set none_ok to TRUE in all compat
param specs, so only IDs that are really random garbage don't pass
validation. Fixes validation errors with 0 and -1 IDs.
* tools/pdbgen/app.pl: set none_ok to FALSE by default. Added
support for $arg->{none_ok} to control it.
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/progress.pdb
* tools/pdbgen/pdb/text_tool.pdb: use none_ok instead of
no_success (which disables validation entirely).
* app/pdb/[many]_cmds.c: regenerated.
2006-05-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: added "gboolean none_ok" members
to GimpParamSpecImageID, GimpParamSpecItemID and
GimpParamSpecDisplayID. If none_ok is set, allow '0' and '-1' as
valid IDs. Added "none_ok" parameter to all ID param spec
constructors.
* app/pdb/gimp-pdb-compat.c: set none_ok to TRUE in all compat
param specs, so only IDs that are really random garbage don't pass
validation. Fixes validation errors with 0 and -1 IDs.
* tools/pdbgen/app.pl: set none_ok to FALSE by default. Added
support for $arg->{none_ok} to control it.
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/progress.pdb
* tools/pdbgen/pdb/text_tool.pdb: use none_ok instead of
no_success (which disables validation entirely).
* app/pdb/[many]_cmds.c: regenerated.
2006-05-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginmanager.[ch]: added signals
"plug-in-opened" and "plug-in-closed". Added functions
gimp_plug_in_manager_add_open_plug_in() and _remove_open_plugin()
which maintain the list of open plug-ins and emit the signals.
* app/plug-in/gimpplugin.c (gimp_plug_in_open)
(gimp_plug_in_close): don't touch manager->open_plug_ins and don't
ref/unref the plug-in. Call above new functions instead. Don't
call gimp_pdb_dialogs_check().
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: removed gimp_pdb_dialogs_check().
* app/widgets/gimppdbdialog.[ch]: removed
gimp_pdb_dialogs_check_callback() and connect to the
plug-in-manager's "plug-in-closed" signal instead.
2006-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginshm.c: cleaned up a bit.
(gimp_plug_in_shm_new): return NULL if anything goes wrong,
instead of a GimpPlugInShm structure that contains no shm (we
don't need multiple cases of "there is no shm"),
* app/plug-in/gimppluginmanager.[ch]
(gimp_plug_in_manager_get_shm_ID)
(gimp_plug_in_manager_get_shm_addr): removed these functions.
* app/plug-in/gimppluginmanager-call.c (gimp_plug_in_manager_call_run)
* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_tile_req):
get the shm ID and addr directly from manager->shm if it exists,
use -1 and NULL otherwise.
Unrelated:
* app/plug-in/gimppluginmanager.c: move most stuff from
gimp_plug_in_manager_exit() to gimp_plug_in_manager_finalize().
Simplify plug-in killing in _exit().
2006-05-04 Sven Neumann <sven@gimp.org>
* app/core/gimp-user-install.[ch]: added a "verbose" parameter.
* app/app_procs.c (app_run): abort if the user installation fails.
2006-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.[ch] (struct GimpPlugIn): remove member
"name" and unused cruft "ref_count". Reordered other members a bit.
(gimp_plug_in_new): set GimpObject's name to
g_filename_display_basename(path) instead.
Use GimpObject's name instead of plug_in->name for error messages
and pass the full path to gimp_plug_in_debug_argv()
* app/plug-in/gimpplugindebug.c (gimp_plug_in_debug_argv): extract
the path's basename ourselves.
* app/plug-in/gimpplugin-message.c: GimpObject's name for
error messages.
2006-05-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.c (gimp_string_array_new)
(gimp_param_string_array_validate): restore the strict checks
on string arrays.
* app/plug-in/gimppluginmanager-help-domain.c
(gimp_plug_in_manager_get_help_domains): return NULL string arrays
when there are 0 help domains to fix the inconsistency at its root.
2006-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.c
* app/plug-in/gimppluginmanager-call.c: use the right procedure
types in calls to gimp_plug_in_proc_frame_foo().
2006-05-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpselectiondata.c
(gimp_selection_data_get_tool_info): port to using
gimp_selection_data_get_object(), it was simply forgotten.
Fixes tool dropping (bug #336402).
2006-05-03 Michael Natterer <mitch@gimp.org>
Made an object out of the plug-in struct. Also change refcounting
considerably:
- gimp_plug_in_open() adds a reference that is only dropped by
gimp_plug_in_close().
- temporarily ref the plug-in while handling messages.
- remporarily ref the plug-in while a recursive main loop is
running.
- each caller of gimp_plug_in_new() also unrefs the plug-in before
returning, the only reference that persists across functions
(that keeps the plug-in alive) is the one added by open().
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-in-context.[ch]
* app/plug-in/plug-in-message.[ch]
* app/plug-in/plug-in-progress.[ch]: removed these files...
* app/plug-in/gimpplugin.[ch]
* app/plug-in/gimpplugin-context.[ch]
* app/plug-in/gimpplugin-message.[ch]
* app/plug-in/gimpplugin-progress.[ch]: ...and added here as GObject.
* app/plug-in/plug-in-proc-frame.[ch]: removed...
* app/plug-in/gimppluginprocframe.[ch]: ...and added with a namespace.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-types.h
* app/plug-in/gimppluginmanager-call.c
* app/plug-in/gimppluginmanager-file.c
* app/plug-in/gimppluginmanager.[ch]
* app/pdb/gimppluginprocedure.c
* app/pdb/gimptemporaryprocedure.c
* app/pdb/gimptemporaryprocedure.h
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/progress.pdb
* tools/pdbgen/pdb/undo.pdb: changed accordingly.
* app/pdb/context_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/help_cmds.c
* app/pdb/message_cmds.c
* app/pdb/plug_in_cmds.c
* app/pdb/progress_cmds.c
* app/pdb/undo_cmds.c: regenerated.
2006-05-03 Sven Neumann <sven@gimp.org>
* app/core/gimpparamspecs.c (gimp_string_array_new,
gimp_param_string_array_validate): relaxed the checks so that
GimpStringArray deals correctly with (length == 0 && data != NULL).
Fixes bug #340365.
2006-05-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainercombobox.c
(gimp_container_combo_box_remove_item): turned a #warning into an
explanation because the bug it referred to is marked as WONTFIX.
2006-05-02 Sven Neumann <sven@gimp.org>
* fileicon.ico
* wilber.ico: new icons for the Windows build created by Jernej
Simon%GÄ%@i%GÄ%@ based on the icons drawn by Jimmac (bug #340223).
2006-04-29 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in.[ch]: removed plug_in_push() and
plug_in_pop()...
* app/plug-in/gimppluginmanager.[ch]: ...and added them here as
gimp_plug_in_manager_plug_in_push() and _pop()
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): changed
accordingly.
* app/plug-in/plug-in.c (plug_in_close): removed an unused
variable, moved another one to a local scope.
* app/plug-in/plug-in.h: indentation.
2006-04-29 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginmanager-locale-domain.c
(gimp_plug_in_manager_get_locale_domains): NULL-terminate string
arrays here too, so they can be freed with g_strfreev() (even
though they currently aren't).
* app/widgets/gimphelp.c: set the plug-in arguments
correctly. Fixes warnings and makes help work again.
2006-04-29 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am (AM_CPP_FLAGS): define GIMP_APP_VERSION.
* app/core/gimp-user-install.c: use GIMP_APP_VERSION instead of
hardcoding it.
2006-04-29 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimp-user-install.[ch]: new files based on code that
used to live in user-install-dialog.c.
* app/dialogs/user-install-dialog.[ch]: only the dialog code
remained here.
* app/app_procs.c: use the new user-install API. Perform a
non-interactive user installation when running without a display.