2004-09-22 Michael Natterer <mitch@gimp.org>
Prepare for enabling private contexts for plug-ins and scripts:
* app/plug-in/plug-in.[ch]: removed the "context" member from
the PlugIn struct and added it to PlugInProcFrame instead.
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.c: changed accordingly.
2004-09-22 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-types.h
* app/plug-in/plug-in.[ch]: added struct PlugInProcFrame which
contains the ProcRecord, the proc's GMainLoop and its return
values.
Use the same struct for the plug-in's main proc and its
temp_procs, so we finally have one set of return values per call
frame, and not just one per plug-in.
Added plug_in_proc_frame_push()/pop() and changed
plug_in_main_loop[_quit]() accordingly.
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.c: changed accordingly.
2004-09-13 Michael Natterer <mitch@gimp.org>
Restore binary compatibility of the wire protocol that was
broken by the recent GPConfig changes:
* libgimpbase/gimpprotocol.[ch] (struct _GPConfig)
(_gp_config_read)
(_gp_config_write): argh, we can't use the two bytes padding
because that's just a binary compatible struct change, but inserts
two bytes into the byte stream that goes over the wire. Use the
first two bytes of the former "gdouble gamma" instead.
* app/plug-in/plug-in-run.c (plug_in_run)
* libgimp/gimp.c (gimp_config): changed accordingly.
2004-09-03 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpprotocol.h (struct _GPConfig): replaced the
never used "gdouble gamma" with 8 reserved gint8 and stuffed two
gint8 behind "gint8 show_tool_tips" where they fit in in a binary
compatible way due to 32bit aligning of the following "gint32
min_colors". Use the latter ones for "check_size" and
"check_type".
* libgimpbase/gimpprotocol.c (_gp_config_read,write): changed
accordingly to pass the new stuff over the wire.
* app/plug-in/plug-in-run.c: ditto. Pass the transpareny values
from GimpDisplayConfig to plug-ins.
* libgimp/gimp.[ch] (gimp_config): remember the new config values.
(gimp_check_size,type): new functions returning the new config values.
* libgimp/gimpdrawablepreview.c (gimp_drawable_preview_init):
use the new values to configure preview->area accordingly.
2004-08-30 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-progress.[ch]: added boolean return values
to plug_in_progress_install(), uninstall() and cancel(). Added
checks to make sure the installed progress_callback exists, has
the correct signature and was installed by this plug-in.
* tools/pdbgen/pdb/progress.pdb: use the return values to let the
PDB wrappers succeed/fail.
* app/pdb/progress_cmds.c: regenerated.
2004-08-30 Michael Natterer <mitch@gimp.org>
Brought the PDB progress into a working state. Fixes bug #6010,
addressed bugs #97266 and #135185 and unfortunately reopens bug
#150194 (will fix that later).
* libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand.
* app/core/gimppdbprogress.c
* libgimp/gimpprogress.c: use the enum instead of integer
constants for the different progress commands. Cleanup.
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c: switch bach to real refcouting for
plug_in->progress (reopens bug #150194) and enabled the PDB
progress code.
* plug-ins/script-fu/script-fu-scripts.c: cleaned up the
progress stuff and the script-fu interface a bit.
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-08-29 Manish Singh <yosh@gimp.org>
* app/plug-in/plug-in.c (plug_in_open): set can_recurse on the
recv_message watch, so we don't block on recursive calls to the
handler. plug_in_recv_message needs some refcounting help now
though.
2004-08-29 Michael Natterer <mitch@gimp.org>
Added an API to allow plug-ins to embed the progress for the
actions they trigger into their own GUI (attention: half-done and
broken code ahead...)
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimppdbprogress.[ch]: new object implementing dispatching
progress calls to a temporary PDB procedure in a plug-in.
* app/Makefile.am: force to link gimppdbprogress.o, bah!
* app/plug-in/plug-in-progress.[ch]: added API to install,
uninstall and cancel a PDB progress for this plug-in, but disabled
the implementation because it doesn't work yet.
* tools/pdbgen/pdb/progress.pdb: added pdb wrappers for the new
install, uninstall and cancel functions.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpprogress.[ch]: added an API around the PDB progress
stuff.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* plug-ins/script-fu/script-fu-scripts.c: use the new API to show
the progress in the script-fu dialog.
2004-08-17 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-progress.c (plug_in_progress_start): reset
the "cancel" signal handler id when a new progress is set.
2004-08-17 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c: don't keep a strong reference to the
GimpProgress object, instead use a weak reference and deal with
the progress being destroyed while the plug-in is running.
Fixes bug #150194.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-run.c (plug_in_temp_run)
* libgimp/gimp.c (gimp_temp_proc_run): removed ENABLE_TEMP_RETURN
#define and all code which was in #ifndef ENABLE_TEMP_RETURN.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/core/gimp-gui.[ch]: added "display_ID" to gimp_new_progress().
* app/gui/gui-vtable.c: changed accordingly.
* app/plug-in/plug-in-progress.[ch]: reenabled showing the
progress in a particular display.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-blend.c
* app/core/gimpprogress.c: some progress cleanup.
* app/display/gimpstatusbar.c (gimp_statusbar_progress_start): no
need to warn if there is already a progress active, just silently
return NULL as all other GimpProgressInterface implementors.
* app/plug-in/plug-in-progress.c: several progress fixes.
It's still a mess.
* plug-ins/common/url.c: don't show progress depending on
run_mode. Run the actual file plug-in with the same run_mode we
were invoked with.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-09 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.c
(plug_ins_file_register_magic)
(plug_ins_file_register_mime): don't dereference
gimp->current_plug_in->plug_in_def if it's NULL.
Fixes bug #149678.
(plug_ins_file_register_mime): moved returning the proc_def inside
the right if() statement.
2004-08-08 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_sensitive):
new function which checks a GimpImageType against the
proc_def->image_types_val mask.
* app/actions/plug-in-actions.c: use the new function here. Also
separated setting the "Repeat last" and "Reshow last" actions'
labels from setting their sensitivity and made them use the same
sensitivity logic as all other plug-in actions. Fixes bug #149567.
2004-08-04 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: changed member "ProcRecord last_plug_in" to
PlugInProcDef last_plug_in". Added function
gimp_set_last_plug_in() and signal Gimp::last-plug-in-changed.
* app/actions/plug-in-commands.c
* app/plug-in/plug-in-run.c: changed accordingly.
* app/actions/plug-in-actions.c: factored out updating of the
"Reshow Last" and "Rerun Last" actions to a private function.
Connect each "plug-in" action group to Gimp::last-plug-in-changed
and update the actions' label and sensitivity in the
callback. Fixes bug #149139.
2004-07-17 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
(plug_ins_init_file): use g_slist_prepend() instead of
g_slist_append().
* plug-ins/common/url.c (query): ported to the new PDB registration
scheme.
2004-07-16 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_init): sort the file procedures
by their menu labels.
* app/widgets/gimpfileprocview.c: removed the sort function here.
2004-07-05 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-rc.c (plug_in_icon_deserialize): fixed a
compiler warning.
* plug-ins/common/dog.c: removed some redundant casts and other
trivial cleanups.
2004-06-30 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.[ch] (plug_ins_init): added a GimpContext
parameter and use it to start plug-ins.
* app/core/gimp.c (gimp_real_restore): pass the user context.
Restores script-fu's access to the global FG, FG, brush, ...
2004-05-18 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu icons. Fixes bug #120500.
* app/core/core-enums.[ch]: added enum GimpIconType which can
be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
functions which write/parse raw binary data. Needed for storing
inline pixbufs in pluginrc.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
new function which writes out an unquoted and unescaped string.
* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
new members "icon_type", "icon_data_length" and "icon_data".
Reordered members so file_proc specific stuff is at the end.
(plug_in_proc_def_get_stock_id)
(plug_in_proc_def_get_pixbuf): new functions to access the
procedure's icon.
* app/plug-in/plug-in-rc.c: save/restore the registered icons.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: set the action's stock ID from
the procedure's stock ID.
* app/widgets/gimppluginaction.c
(gimp_plug_in_action_connect_proxy): if the procedure provides a
pixbuf, set it as icon for the menu item.
* app/menus/file-dialog-menu.[ch]
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
function which can be called during query().
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpplugin_pdb.c
* libgimp/gimpplugin_pdb.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: register stock_id icons.
* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
testing purposes (used emblem-camera.png from gnome-icon-theme).
* app/actions/dialogs-actions.c
* app/actions/file-actions.c: unrelated: added some more icons
to menu items.
2004-05-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_label): new
function which returns a newly allocated string which is the menu
item's name stripped of mnemonics an ellipses.
* app/actions/plug-in-actions.c (plug_in_actions_update)
* app/plug-in/plug-in.c (plug_in_get_undo_desc): use the function
instead of implementing the same twice slightly different.
2004-05-15 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-params.c (plug_in_proc_args_check): changed
warnings to include the invalid menu path. Added check that makes
sure menu paths are either "<Prefix>" or "<Prefix>/foo" but *not*
"<Prefix>foo".
* app/actions/plug-in-actions.c: added function
plug_in_actions_check_translation() which validates both the
original and translated menu paths and spits detailed error
messages if any of them is broken. Made action creation simpler
(?) and more robust.
* app/menus/plug-in-menus.c: argh, the translated menu path must
be a sorting criteria *only*. Fixed the whole stuff to always use
the original menu path because translation is done entirely by
plug-in-actions.c. Fixes bad crashes for all locales. Added
boolean return value to plug_in_menus_build_path() and don't try
to create the menu item in an invalid location if creating the
submenus failed.
2004-05-14 Sven Neumann <sven@gimp.org>
* app/menus/file-dialog-menu.c: check if the file procedure
registered a menu path at all. The menu should probably be created
from the registered menu path, not from gimp->[load|save]_procs.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-ins.c: removed broken code that used to sort
the file procedures.
* plug-ins/common/CEL.c
* plug-ins/common/bz2.c
* plug-ins/common/gz.c
* plug-ins/common/pcx.c
* plug-ins/common/pix.c
* plug-ins/common/sunras.c
* plug-ins/sgi/sgi.c
* plug-ins/xjt/xjt.c: register a mimetype, set a translatable
action name (mostly taken from shared-mime-info) and register to
the <Load> and <Save> menus using gimp_plugin_menu_register().
2004-05-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: added new PDB function
gimp_register_file_handler_mime() that allows to associate a MIME
type with a file procecdurre.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.
* app/actions/file-commands.c
* app/core/gimpdocumentlist.[ch]
* app/core/gimpimagefile.[ch]
* app/file/file-open.[ch]
* app/file/file-save.c: set the thumbnail's mimetype from the file
procedure used to load/save the image.
* app/xcf/xcf.c
* plug-ins/bmp/bmp.c
* plug-ins/common/csource.c
* plug-ins/common/dicom.c
* plug-ins/common/gif.c
* plug-ins/common/gifload.c
* plug-ins/common/jpeg.c
* plug-ins/common/mng.c
* plug-ins/common/png.c
* plug-ins/common/postscript.c
* plug-ins/common/psd.c
* plug-ins/common/psd_save.c
* plug-ins/common/sunras.c
* plug-ins/common/svg.c
* plug-ins/common/tga.c
* plug-ins/common/tiff.c
* plug-ins/common/wmf.c
* plug-ins/common/xbm.c
* plug-ins/common/xpm.c
* plug-ins/common/xwd.c
* plug-ins/faxg3/faxg3.c
* plug-ins/winicon/main.c: register a mimetype, set a translatable
action name (taken from shared-mime-info) and register to the <Load>
and <Save> menus using gimp_plugin_menu_register().
2004-05-07 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: removed member "accelerator".
It was never set and this is the conceptually wrong place to store
it anyway.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/plug-in/plug-in-message.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): always return NULL
as accelerator. Cleaned up the function a bit and made it aware of
proc_def->menu_label added below.
* app/pdb/plug_in_cmds.c: regenerated.
2004-05-07 Michael Natterer <mitch@gimp.org>
Changed plug-in menu registration again to allow passing just the
menu item's label (not the full path) in gimp_install_procedure()
and only the path (excluding the item's label) in
gimp_plugin_menu_register(). Matches the internal action system
better and makes translating the menu paths much easier.
(Of yourse it's still possible to use the old syntax for backward
compatibility).
* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".
* app/plug-in/plug-in-params.[ch]: added new functions
plug_in_param_defs_check() and plug_in_proc_args_check() which
check if a procedure's parameters match its menu location
(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
registering an old-style (full) menu_path, use
plug_in_param_defs_check(), set proc_def->menu_label otherwise.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
plug_in_proc_args_check() on the passed menu_path and make sugre
old and new style menu registration are not mixed.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-rc.c: save/restore "menu_label".
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: changed action/menu creation
accordingly. Some hacks needed to allow both old and new style
menu_label/menu_paths.
* app/plug-in/plug-in.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/animoptimize.c
* plug-ins/common/apply_lens.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/blinds.c
* plug-ins/common/blur.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/c_astretch.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/checkerboard.c
* plug-ins/common/color_enhance.c
* plug-ins/common/colorify.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/compose.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/decompose.c
* plug-ins/common/deinterlace.c
* plug-ins/common/depthmerge.c
* plug-ins/common/destripe.c
* plug-ins/common/diffraction.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/flarefx.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/screenshot.c: ported the first few plug-ins
to the new registration scheme.
2004-05-06 Michael Natterer <mitch@gimp.org>
Enabled multiple menu entries per plug-in procedure:
* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
"GList *menu_paths".
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins.c
* app/menus/menus.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: create an action for the first
element of proc_def->menu_paths.
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]: create proxy widgets for each
element of proc_def->menu_paths.
* tools/pdbgen/pdb/plug_in.pdb: added new function
gimp_plugin_menu_add() which can be called during query() and adds
a menu path to a procedure registered by the calling plugin.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* menus/image-menu.xml.in
* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
logical groups (like Image/Resize, Image/Scale, Image/Crop
etc.). Added empty placeholder File/Send for stuff like print and
mail. Added an "Acquire" menu under <Image>/File
* plug-ins/common/mail.c
* plug-ins/print/print.c
* plug-ins/common/winprint.c: register under File/Send.
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: also register under
<Image>/File/Acquire.
* plug-ins/common/autocrop.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c: register additional menu entries
under placeholders in the "Image" and "Layer" menus. This is not
meant to be final but just a hint to keep in mind when
reorganizing the plug-in menus.
2004-04-26 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: removed "locale_domain" and "help_domain"
parameters from GimpMenusCreateFunc.
* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
* app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def):
changed accordingly.
* app/widgets/gimpactiongroup.[ch]: remember all created action
groups is a hash table in GimpActionGroupClass. Added
gimp_action_groups_from_name() which returns a GList of all groups
with the given name.
* app/actions/plug-in-actions.[ch] (plug_in_actions_setup):
removed the tree sorting code. Actions don't need to be ordered
alphabetically.
(plug_in_actions_update): copied & ported plug_in_menus_update().
* app/gui/gui-vtable.c (gui_menus_create,delete_entry):
dynamically add/remove plug-in actions in all "plug-in" action
groups.
2004-04-25 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: changed GimpMenusDeleteFunc to take
a PlugInProcDef* instead of a const gchar*.
* app/plug-in/plug-ins.c
* app/gui/gui-vtable.c
* app/gui/plug-in-menus.[ch]: changed accordingly.
2004-04-15 Tor Lillqvist <tml@iki.fi>
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
* app/plug-in/plug-in-proc.h (struct _PlugInProcDef)
* app/plug-in/plug-in-rc.c (plug_in_rc_write)
* app/plug-in/plug-ins.c (plug_ins_init): Make PDB procedures
(including their menu entries) installed during a plug-ins init()
phase show up. Add a flag to PlugInProcDef that tells whether the
proc was installed during the init() phase. Such procs aren't
saved to the pluginrc. Move the code that initializes plug-ins
that need initialization earlier, before the procs are added to
the PDB and menus are built. Fixes bug #139969.
2004-04-15 Michael Natterer <mitch@gimp.org>
Context cleanup continued:
* app/core/gimpitem.[ch]: added context parameter to
GimpItem::stroke().
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
default values from instead of gimp_get_user_context().
* app/core/gimpselection.c
* app/gui/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
struct. Added context parameter to plug_in_new(),
plug_in_call_query() and plug_in_call_init().
* app/plug-in/plug-in-run.[ch]: added context parameters to
plug_in_run() and plug_in_repeat().
* app/gui/plug-in-commands.c
* app/gui/vectors-commands.c
* app/pdb/procedural_db.c
* app/widgets/gimphelp.c: pass a context to plug_in_run() and
plug_in_repeat().
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
procedures with the plug-in's context.
* app/plug-in/plug-ins.c: use a temporary context for running the
plug-ins' query() and init() functions. Use the same context for
running automatic extensions. This temporarily separates the main
Script-Fu extension from the user context (i.e. scripts have no
way of setting/getting the global FG, BG, brush etc.).
2004-03-25 Manish Singh <yosh@gimp.org>
* libgimp/gimp.c
* app/plug-in/plug-in-shm.c: close the shm_open fd in the POSIX
shm case. We were leaking an fd here.
2004-02-17 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.
* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
of g_get_application_name() to the plug-ins.
* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
plug-in's application name if an app_name is passed in the config
message.
* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
to do it this way and caused all plug-ins claim to be the gimp-1.3
executable in their error messages.
* libgimp/gimp.def: removed symbol gimp_wm_name.
* configure.in: reset gimp_binary_age and gimp_interface_age.
* app/core/gimpimage.c (gimp_image_name_changed): removed unused
variable.
2004-02-11 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_init)
* app/plug-in/plug-in.c (plug_in_close): changed g_warning() to
g_printerr() in a few places where the problem is not an error in
GIMP but a misbehaving plug-in. Suppress some of this output in
the stable branch.
2004-02-08 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-rc.c (plug_in_rc_parse): return FALSE if the
file wasn't found.
* app/plug-in/plug-ins.c (plug_ins_init): don't output the error
message from plug_in_rc_parse() if it failed for file not found.
Fixes bug #133490.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-02-07 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-shm.c (plug_in_shm_get_ID): don't
g_return_if_fail() if gimp->plug_in_shm is NULL; return -1 instead.
This allows to run gimp with --no-shm again.
2004-02-03 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_init): use g_clear_error()
instead of g_error_free() and re-use the same GError location for
pluginrc parsing and writing.
(plug_ins_proc_def_insert): when overriding a PlugInProcDef, don't
take over the menu_path and menu_accel of the overridden proc
because (a) it's just plain wrong and (b) we don't need to
preserve the proc_defs' order any more (see below).
2004-02-03 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: added new function
plug_in_proc_def_compare_menu_path() which is a GCompareDataFunc.
(uses g_utf8_collate() on the translated menu paths).
* app/plug-in/plug-ins.c (plug_ins_init): sort gimp->load_procs
and gimp->save_procs using the new compare function above.
Fixes bug #133180.
(plug_ins_locale_domain)
(plug_ins_help_domain): don't g_return_if_fail() on a NULL
prog_name but return the default locale and help domains
of the GIMP itself.
(plug_ins_proc_def_insert): removed obsolete and broken (not
locale and UTF-8 aware) code which tried to insert new plug-in
menu entries in alphabetical order (was unused except for load
and save procs).
Unrelated:
* app/plug-in/plug-in-proc.[ch]: added const qualifiers.
* app/file/file-open.c
* app/file/file-save.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly (constify
local variables).
* app/pdb/fileops_cmds.c: regenerated.
2004-02-01 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_init): when removing a
duplicate PDB procedure, also remove it from gimp->load_procs and
gimp->save_procs. Fixes bug #133099.
Some general cleanup like moving variables to local scopes.