Return an optional tooltip from gimp_procedure_get_sensitive(), in
GimpPlugInProcedure, build that tooltip from the image types the
procedure works on.
which is just a #define to g_assert for now, but can now easily be
turned into something that does some nicer debugging using our new
stack trace infrastructure. This commit also reverts all constructed()
functions to use assert again.
around calling the actual execute vfuncs, Seen a crash when quitting
GIMP while a script-fu window was open, the progress was already
finalized. Now it simply prints the error message about the failing
script on the concole.
return_vals[1] being present and being a string doesn't neccessarily
mean it comes from the plug-in, it might just as well be its first
return value, which gets generated and NULL-initialized by the plug-in
execution code even if the plug-in didn't actually return anything.
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
finally acknowledging the fact that app/ depends on gdk-pixbuf almost
globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
calling in a script (gimp-file-load-layer 1 image "notexists.bmp")
used to crash GIMP with the following message:
**
Gimp-PDB:ERROR:gimpprocedure.c:491:gimp_procedure_get_return_values:
code should not be reached
gimp-2.7: terminated: Aborted
Initially contains antialias, feather and feather radius for the
upcoming gimp-item-to-selection preocedure. Keeping states in the
context reduces the number of parameters of procedures, and both the
state API and the API using the states can be changed/deprecated
independently. Make sure that all procedures and all plug-ins get
GimpPDBContexts instead of plain GimpContexts passed.
2009-01-28 Sven Neumann <sven@gimp.org>
* app/pdb/gimpprocedure.c (gimp_procedure_execute): don't set an
error if the procedure was cancelled.
svn path=/trunk/; revision=27967
* app/pdb/gimpprocedure.[ch] (gimp_procedure_create_override): New
helper function that creates a new GimpProcedure that can be used
to override an existing procedure.
svn path=/trunk/; revision=27950
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-10-09 Michael Natterer <mitch@gimp.org>
Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
had a GEGL dependency (they will have in the next commit, but I
wanted to keep the commit separate).
* app/dialogs/Makefile.am
* app/file/Makefile.am
* app/gui/Makefile.am
* app/menus/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/vectors/Makefile.am
* app/widgets/Makefile.am
* app/xcf/Makefile.am: add GEGL_CFLAGS.
* app/actions/*.c
* app/core/*.c
* app/dialogs/*.c
* app/display/*.c
* app/file/*.c
* app/gui/*.c
* app/menus/*.c
* app/paint/*.c
* app/pdb/gimppdb-utils.c
* app/pdb/gimpprocedure.c
* app/plug-in/*.c
* app/text/*.c
* app/tools/*.c
* app/vectors/*.c
* app/widgets/*.c
* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
to all files which include a drawable subclass or gimpimage.h
* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
in all generated files.
* app/pdb/*-cmds.c: regenerated.
* data/images/gimp-splash.png: the goat is still sleeping.
By Aurore Derriennic.
svn path=/trunk/; revision=27202
2008-09-03 Michael Natterer <mitch@gimp.org>
* app/pdb/gimpprocedure.[ch] (gimp_procedure_set_static_strings):
made the string parameters const.
svn path=/trunk/; revision=26846
2008-08-17 Sven Neumann <sven@gimp.org>
Next step towards fixing bug #344818:
* app/pdb/gimpprocedure.c (gimp_procedure_execute): if the error
has not already been set, construct one from the error message
that is optionally passed with the return values.
* plug-ins/common/file-png.c: changed to pass an error message
with the return values instead of calling g_message() in case of
an error.
svn path=/trunk/; revision=26620
2008-08-16 Sven Neumann <sven@gimp.org>
If a procedure call fails, pass a string describing the error as
the second return value. First step towars fixing bug #344818.
* app/pdb/gimpprocedure.[ch] (gimp_procedure_get_return_values):
added a GError parameter. If it is set, pass the error message
to
the return values.
* app/pdb/gimppdberror.h: added some more error codes.
* app/pdb/gimppdb.c
* app/xcf/xcf.c: pass errors to
gimp_procedure_get_return_values().
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
show a different error message for execution vs. calling errors.
* app/plug-in/gimpplugin-progress.c
(gimp_plug_in_progress_cancel_callback): pass the error
GIMP_PDB_CANCELLED to gimp_procedure_get_return_values().
* app/plug-in/gimppluginmanager-call.[ch]
(gimp_plug_in_manager_call_run): removed the
'destroy_return_vals'
parameter.
* app/plug-in/gimppluginprocedure.c: destroy the return values
here.
* app/plug-in/gimppluginprocframe.c: pass an error to
gimp_procedure_get_return_values().
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/fileops.pdb: generate code that passes the
error to gimp_procedure_get_return_values().
* app/pdb/*-cmds.c: regenerated.
* plug-ins/pygimp/pygimp-pdb.c: extract the error message from
the
return values and pass it to the exception that is thrown.
svn path=/trunk/; revision=26593
2007-05-21 Sven Neumann <sven@gimp.org>
* app/pdb/gimpprocedure.c (gimp_procedure_validate_args): pass the
GimpProgress to gimp_message().
* plug-ins/common/bumpmap.c: reduced number of progress updates.
svn path=/trunk/; revision=22551
2006-11-24 Kevin Cozens <kcozens@cvs.gnome.org>
* app/pdb/gimpprocedure.c: Fix for minor typo in error message.
* plug-ins/Lighting/lighting_main.c (check_drawables): Only validate
ID's for drawables that will be used. Disable use of env map (and not
bump map) if env drawable is of wrong type.
* plug-ins/script-fu/ftx/ftx.c: Eliminated some compiler warnings.
2006-11-23 Michael Natterer <mitch@gimp.org>
* app/pdb/gimpprocedure.c (gimp_procedure_validate_args): made
validation error messages more human-readable and prepared the
code for validating return values.
2006-11-23 Sven Neumann <sven@gimp.org>
* app/pdb/gimpprocedure.c (gimp_procedure_validate_args): special
case invalid drawable and image IDs and try to give a somewhat
more helpful error message (addresses bug #378334).
2006-04-15 Michael Natterer <mitch@gimp.org>
* app/core/gimp-utils.[ch]: added
gimp_g_type_instance_get_memsize() and
gimp_g_param_spec_get_memsize().
Changed gimp_g_object_get_memsize() to use
gimp_g_type_instance_get_memsize().
Handle more boxed types in gimp_g_value_get_memsize().
* app/core/gimp.c (gimp_get_memsize): add the memsize of some
members that are new or were forgotten.
* app/pdb/gimpprocedure.c
* app/pdb/gimppluginprocedure.c: implement GimpObject::get_memsize().
2006-04-07 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-run.[ch]: made plug_in_run_temp() public and
changed its parameters to match the ones of plug_in_run().
* app/pdb/gimpprocedure.[ch]: added GimpProcedure::execute_async()
which takes an additional display_ID parameter and returns nothing.
* app/pdb/gimppluginprocedure.c
* app/pdb/gimptemporaryprocedure.c: implement it, using
plug_in_run() and plug_in_run_temp().
* app/core/gimp-utils.[ch]: added gimp_value_array_truncate()
which takes a GValueArray and the number of values to truncate the
array to.
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* app/pdb/gimp-pdb.c
* app/plug-in/plug-ins.c
* app/widgets/gimphelp.c: use gimp_procedure_execute_async()
instead of plug_in_run() and don't #include "plug-in-run.h".
Truncate GValueArray passed to plug-ins again, and don't just pass
some default values to the noninteractive args.
Unrelated:
* tools/pdbgen/pdb/plug_in.pdb: don't call
gimp_menus_create_branch() here.
* app/plug-in/plug-ins.c (plug_ins_menu_branch_add): call it here
instead.
* app/pdb/plug_in_cmds.c: regenerated.
2006-04-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-types.h
* app/plug-in/plug-in-proc-def.[ch]: renamed to GimpPlugInProcedure
and made a GObject derived from GimpProcedure (instead of having
a pointer to a GimpProcedure). Added image_types and file_magic
utility functions taken from plug-ins.[ch]. Still lives in the
same crappy files because I am undecided where to put it...
* app/pdb/gimpprocedure.c (gimp_procedure_real_execute): removed
switch() statement and always call the internal marshaller because
GimpProcedure::execute() is properly overridden by
GimpPlugInProcedure now.
* app/plug-in/plug-ins.[ch]: removed the mime_type and file_magic
utilities added to GimpPlugInProcedure.
* app/actions/file-commands.c
* app/actions/plug-in-actions.[ch]
* app/actions/plug-in-commands.[ch]
* app/core/gimp-gui.[ch]
* app/core/gimp.[ch]
* app/core/gimpimage.[ch]
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/print-size-dialog.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/file/file-utils.[ch]
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins-query.c
* app/widgets/gimpactiongroup.[ch]
* app/widgets/gimpdnd-xds.c
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpfileprocview.[ch]
* app/widgets/gimppluginaction.[ch]
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/plug_in.pdb: changed addordingly.
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.