CVSROOT:        /cvs/gnome
Module name:    gimp
Changes by:     mitch   06/03/29 18:56:07

Modified files:
        .              : ChangeLog 
        app            : batch.c 
        app/dialogs    : about-dialog.c 
        app/actions    : plug-in-commands.c vectors-commands.c 
        app/core       : gimppdbprogress.c 
        app/file       : file-open.c file-save.c 
        app/pdb        : brush_cmds.c brush_select_cmds.c brushes_cmds.c 
                         buffer_cmds.c channel_cmds.c color_cmds.c 
                         context_cmds.c convert_cmds.c display_cmds.c 
                         drawable_cmds.c drawable_transform_cmds.c 
                         edit_cmds.c fileops_cmds.c floating_sel_cmds.c 
                         font_select_cmds.c fonts_cmds.c gimprc_cmds.c 
                         gradient_cmds.c gradient_select_cmds.c 
                         gradients_cmds.c grid_cmds.c guides_cmds.c 
                         help_cmds.c image_cmds.c layer_cmds.c 
                         message_cmds.c misc_cmds.c paint_tools_cmds.c 
                         palette_cmds.c palette_select_cmds.c 
                         palettes_cmds.c parasite_cmds.c paths_cmds.c 
                         pattern_cmds.c pattern_select_cmds.c 
                         patterns_cmds.c plug_in_cmds.c procedural_db.c 
                         procedural_db.h procedural_db_cmds.c 
                         progress_cmds.c selection_cmds.c 
                         selection_tools_cmds.c text_tool_cmds.c 
                         transform_tools_cmds.c undo_cmds.c unit_cmds.c 
                         vectors_cmds.c 
        app/plug-in    : plug-in-message.c plug-in-params.c 
                         plug-in-params.h plug-in-progress.c 
                         plug-in-run.c plug-in-run.h plug-ins.c 
        app/widgets    : gimphelp.c gimppdbdialog.c 
        app/xcf        : xcf.c 
        tools/pdbgen   : app.pl lib.pl pdb.pl 
        tools/pdbgen/pdb: fileops.pdb 

Log message:
2006-03-30  Michael Natterer  <[EMAIL PROTECTED]>

* app/pdb/procedural_db.[ch] (struct Argument): replace the value
union by a GValue.

(procedural_db_argument_init)
(procedural_db_compat_arg_init): new functions to initialize
an Argument. They call g_value_init() on the Argument's value.

(procedural_db_arguments)
(procedural_db_return_values): initialize the returned Argument
arrays so their GValues are ready to use. Allow to get the
(unsuccessful) return values of a NULL ProcRecord.

(procedural_db_destroy_args): g_value_unset() the values. Added a
"gboolean full_destroy" parameter. Its only effect is to destroy
PDB arrays, everything else is nicely memory managed by GValue.

(procedural_db_execute)
(procedural_db_run_proc): do GValue stuff. Added n_args and
n_return_vals parameters to execute().

(procedural_db_execute_proc): private function to execute a
procedure. Validates the passed in arguments using the registered
GParamSpecs before passing them to the resp. exec method.

* app/plug-in/plug-in-params.[ch] (plug_in_params_to_args): needs
an array of ProcArgs now in order to initialize the Arguments'
GValues correctly. Passing NULL ProcArgs uses
procedural_db_compat_arg_init(), so procedures (plug-ins)
returning more values than expected work.

(plug_in_args_to_params): do GValue stuff here too.

(plug_in_args_destroy): removed this function,
procedural_db_destroy_args() does the same now.

* app/plug-in/plug-in-message.c (plug_in_handle_proc_run):
simplified quite a bit because everything returns n_return_values
now. Call plug_in_params_to_args() only of the procedure was found.

(plug_in_handle_proc_return_priv): pass ProcRecs to
plug_in_params_to_args().

* app/batch.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* app/core/gimppdbprogress.c
* app/dialogs/about-dialog.c
* app/file/file-open.c
* app/file/file-save.c
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimppdbdialog.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly: don't
g_new/g_free Argument arrays, always use procedural_db_foo()
functions. Use GValue functions to get/set Arguments.

* tools/pdbgen/pdb.pl: added get_value_func and set_value_func to
all PDB types. Removed id_func, id_ret_func and check_func. Added
flags which indicated that a type is an ID. Removed unused utility
functions.

* tools/pdbgen/lib.pl: use the flag instead of looking at
functions and value types.

* tools/pdbgen/app.pl: use the get_value_func and set_value_func
to marshal inargs and outargs. Removed all checks performed on
inargs because that's done by GParamSpec validation now. Added the
missing bits to register excluded values with GimpParamSpecEnum.

* app/pdb/*_cmds.c: regenerated.

URL : 
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=gimp&who=mitch&date=explicit&mindate=2006-03-29%2018:55&maxdate=2006-03-29%2018:57

_______________________________________________
cvs-commits-list mailing list
cvs-commits-list@gnome.org
http://mail.gnome.org/mailman/listinfo/cvs-commits-list

Reply via email to