diff --git a/ChangeLog b/ChangeLog index ca534a54af..6a091d308d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2008-08-16 Sven Neumann + + 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. + 2008-08-16 Martin Nordholts * app/actions/view-commands.c (view_shrink_wrap_cmd_callback): diff --git a/app/pdb/brush-cmds.c b/app/pdb/brush-cmds.c index 9eeb410ebc..c3d6ff3b9e 100644 --- a/app/pdb/brush-cmds.c +++ b/app/pdb/brush-cmds.c @@ -65,7 +65,8 @@ brush_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], actual_name); @@ -107,7 +108,8 @@ brush_duplicate_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], copy_name); @@ -140,7 +142,8 @@ brush_is_generated_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], generated); @@ -178,7 +181,8 @@ brush_rename_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], actual_name); @@ -211,7 +215,8 @@ brush_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -239,7 +244,8 @@ brush_is_editable_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], editable); @@ -280,7 +286,8 @@ brush_get_info_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -341,7 +348,8 @@ brush_get_pixels_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -383,7 +391,8 @@ brush_get_spacing_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], spacing); @@ -416,7 +425,8 @@ brush_set_spacing_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -444,7 +454,8 @@ brush_get_shape_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], shape); @@ -483,7 +494,8 @@ brush_set_shape_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], shape_out); @@ -516,7 +528,8 @@ brush_get_radius_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], radius); @@ -555,7 +568,8 @@ brush_set_radius_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], radius_out); @@ -588,7 +602,8 @@ brush_get_spikes_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], spikes); @@ -627,7 +642,8 @@ brush_set_spikes_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], spikes_out); @@ -660,7 +676,8 @@ brush_get_hardness_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], hardness); @@ -699,7 +716,8 @@ brush_set_hardness_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], hardness_out); @@ -732,7 +750,8 @@ brush_get_aspect_ratio_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], aspect_ratio); @@ -771,7 +790,8 @@ brush_set_aspect_ratio_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], aspect_ratio_out); @@ -804,7 +824,8 @@ brush_get_angle_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], angle); @@ -843,7 +864,8 @@ brush_set_angle_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], angle_out); diff --git a/app/pdb/brush-select-cmds.c b/app/pdb/brush-select-cmds.c index 37df3d0490..8514c3baa1 100644 --- a/app/pdb/brush-select-cmds.c +++ b/app/pdb/brush-select-cmds.c @@ -70,7 +70,8 @@ brushes_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -95,7 +96,8 @@ brushes_close_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -132,7 +134,8 @@ brushes_set_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/brushes-cmds.c b/app/pdb/brushes-cmds.c index dbe424004e..7c3886fa47 100644 --- a/app/pdb/brushes-cmds.c +++ b/app/pdb/brushes-cmds.c @@ -50,7 +50,7 @@ brushes_refresh_invoker (GimpProcedure *procedure, { gimp_data_factory_data_refresh (gimp->brush_factory); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -75,7 +75,8 @@ brushes_get_list_invoker (GimpProcedure *procedure, filter, &num_brushes); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -113,7 +114,8 @@ brushes_get_brush_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -145,7 +147,8 @@ brushes_get_spacing_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], spacing); @@ -171,7 +174,8 @@ brushes_set_spacing_invoker (GimpProcedure *procedure, gimp_brush_set_spacing (gimp_context_get_brush (context), spacing); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -220,7 +224,8 @@ brushes_get_brush_data_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/buffer-cmds.c b/app/pdb/buffer-cmds.c index 19dafd18d2..976239e6d2 100644 --- a/app/pdb/buffer-cmds.c +++ b/app/pdb/buffer-cmds.c @@ -60,7 +60,8 @@ buffers_get_list_invoker (GimpProcedure *procedure, filter, &num_buffers); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -101,7 +102,8 @@ buffer_rename_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], real_name); @@ -132,7 +134,8 @@ buffer_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -160,7 +163,8 @@ buffer_get_width_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], width); @@ -193,7 +197,8 @@ buffer_get_height_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], height); @@ -226,7 +231,8 @@ buffer_get_bytes_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], bytes); @@ -259,7 +265,8 @@ buffer_get_image_type_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], image_type); diff --git a/app/pdb/channel-cmds.c b/app/pdb/channel-cmds.c index 8fcef5a070..d7b83705c0 100644 --- a/app/pdb/channel-cmds.c +++ b/app/pdb/channel-cmds.c @@ -75,7 +75,8 @@ channel_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_channel (&return_vals->values[1], channel); @@ -114,7 +115,8 @@ channel_new_from_component_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_channel (&return_vals->values[1], channel); @@ -146,7 +148,8 @@ channel_copy_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_channel (&return_vals->values[1], channel_copy); @@ -181,7 +184,8 @@ channel_combine_masks_invoker (GimpProcedure *procedure, gimp_channel_combine_mask (channel1, channel2, operation, offx, offy); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -204,7 +208,8 @@ channel_get_show_masked_invoker (GimpProcedure *procedure, show_masked = gimp_channel_get_show_masked (channel); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], show_masked); @@ -232,7 +237,8 @@ channel_set_show_masked_invoker (GimpProcedure *procedure, gimp_channel_set_show_masked (channel, show_masked); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -255,7 +261,8 @@ channel_get_opacity_invoker (GimpProcedure *procedure, opacity = gimp_channel_get_opacity (channel) * 100; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], opacity); @@ -283,7 +290,8 @@ channel_set_opacity_invoker (GimpProcedure *procedure, gimp_channel_set_opacity (channel, opacity / 100.0, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -307,7 +315,8 @@ channel_get_color_invoker (GimpProcedure *procedure, gimp_rgb_set_alpha (&color, 1.0); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_rgb (&return_vals->values[1], &color); @@ -338,7 +347,8 @@ channel_set_color_invoker (GimpProcedure *procedure, gimp_channel_set_color (channel, &rgb_color, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/color-cmds.c b/app/pdb/color-cmds.c index ccf42fbeab..56d64279e3 100644 --- a/app/pdb/color-cmds.c +++ b/app/pdb/color-cmds.c @@ -76,7 +76,8 @@ brightness_contrast_invoker (GimpProcedure *procedure, brightness, contrast); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -122,7 +123,8 @@ levels_invoker (GimpProcedure *procedure, low_output, high_output); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -148,7 +150,8 @@ levels_auto_invoker (GimpProcedure *procedure, gimp_drawable_levels_stretch (drawable, progress); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -174,7 +177,8 @@ levels_stretch_invoker (GimpProcedure *procedure, gimp_drawable_levels_stretch (drawable, progress); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -202,7 +206,8 @@ posterize_invoker (GimpProcedure *procedure, gimp_drawable_posterize (drawable, progress, levels); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -228,7 +233,8 @@ desaturate_invoker (GimpProcedure *procedure, gimp_drawable_desaturate (drawable, progress, GIMP_DESATURATE_LIGHTNESS); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -256,7 +262,8 @@ desaturate_full_invoker (GimpProcedure *procedure, gimp_drawable_desaturate (drawable, progress, desaturate_mode); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -284,7 +291,8 @@ equalize_invoker (GimpProcedure *procedure, gimp_drawable_equalize (drawable, mask_only); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -310,7 +318,8 @@ invert_invoker (GimpProcedure *procedure, gimp_drawable_invert (drawable, progress); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -347,7 +356,8 @@ curves_spline_invoker (GimpProcedure *procedure, channel, control_pts, num_points); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -384,7 +394,8 @@ curves_explicit_invoker (GimpProcedure *procedure, channel, curve, num_bytes); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -423,7 +434,8 @@ color_balance_invoker (GimpProcedure *procedure, preserve_lum); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -456,7 +468,8 @@ colorize_invoker (GimpProcedure *procedure, hue, saturation, lightness); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -516,7 +529,8 @@ histogram_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -563,7 +577,8 @@ hue_saturation_invoker (GimpProcedure *procedure, hue_range, hue_offset, saturation, lightness); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -595,7 +610,8 @@ threshold_invoker (GimpProcedure *procedure, low_threshold, high_threshold); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/context-cmds.c b/app/pdb/context-cmds.c index dfb8a5182f..3809611cef 100644 --- a/app/pdb/context-cmds.c +++ b/app/pdb/context-cmds.c @@ -57,7 +57,8 @@ context_push_invoker (GimpProcedure *procedure, else success = FALSE; - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -76,7 +77,8 @@ context_pop_invoker (GimpProcedure *procedure, else success = FALSE; - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -94,7 +96,7 @@ context_list_paint_methods_invoker (GimpProcedure *procedure, paint_methods = gimp_container_get_name_array (gimp->paint_info_list, &num_paint_methods); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], num_paint_methods); gimp_value_take_stringarray (&return_vals->values[2], paint_methods, num_paint_methods); @@ -121,7 +123,8 @@ context_get_paint_method_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -152,7 +155,8 @@ context_set_paint_method_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -169,7 +173,7 @@ context_get_foreground_invoker (GimpProcedure *procedure, gimp_context_get_foreground (context, &foreground); gimp_rgb_set_alpha (&foreground, 1.0); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); gimp_value_set_rgb (&return_vals->values[1], &foreground); return return_vals; @@ -194,7 +198,8 @@ context_set_foreground_invoker (GimpProcedure *procedure, gimp_context_set_foreground (context, &foreground); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -211,7 +216,7 @@ context_get_background_invoker (GimpProcedure *procedure, gimp_context_get_background (context, &background); gimp_rgb_set_alpha (&background, 1.0); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); gimp_value_set_rgb (&return_vals->values[1], &background); return return_vals; @@ -236,7 +241,8 @@ context_set_background_invoker (GimpProcedure *procedure, gimp_context_set_background (context, &background); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -249,7 +255,7 @@ context_set_default_colors_invoker (GimpProcedure *procedure, { gimp_context_set_default_colors (context); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -262,7 +268,7 @@ context_swap_colors_invoker (GimpProcedure *procedure, { gimp_context_swap_colors (context); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -278,7 +284,7 @@ context_get_opacity_invoker (GimpProcedure *procedure, opacity = gimp_context_get_opacity (context) * 100.0; - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_double (&return_vals->values[1], opacity); return return_vals; @@ -302,7 +308,8 @@ context_set_opacity_invoker (GimpProcedure *procedure, gimp_context_set_opacity (context, opacity / 100.0); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -318,7 +325,7 @@ context_get_paint_mode_invoker (GimpProcedure *procedure, paint_mode = gimp_context_get_paint_mode (context); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_enum (&return_vals->values[1], paint_mode); return return_vals; @@ -342,7 +349,8 @@ context_set_paint_mode_invoker (GimpProcedure *procedure, gimp_context_set_paint_mode (context, paint_mode); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -364,7 +372,8 @@ context_get_brush_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -395,7 +404,8 @@ context_set_brush_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -417,7 +427,8 @@ context_get_pattern_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -448,7 +459,8 @@ context_set_pattern_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -470,7 +482,8 @@ context_get_gradient_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -501,7 +514,8 @@ context_set_gradient_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -523,7 +537,8 @@ context_get_palette_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -554,7 +569,8 @@ context_set_palette_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -576,7 +592,8 @@ context_get_font_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -607,7 +624,8 @@ context_set_font_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/convert-cmds.c b/app/pdb/convert-cmds.c index 83741691e7..0d9d2f39a3 100644 --- a/app/pdb/convert-cmds.c +++ b/app/pdb/convert-cmds.c @@ -65,7 +65,8 @@ image_convert_rgb_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -95,7 +96,8 @@ image_convert_grayscale_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -168,7 +170,8 @@ image_convert_indexed_invoker (GimpProcedure *procedure, NULL, error); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -195,7 +198,8 @@ image_convert_set_dither_matrix_invoker (GimpProcedure *procedure, gimp_image_convert_set_dither_matrix (matrix, width, height); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/display-cmds.c b/app/pdb/display-cmds.c index 02ca23de9c..932d21c289 100644 --- a/app/pdb/display-cmds.c +++ b/app/pdb/display-cmds.c @@ -50,7 +50,7 @@ display_is_valid_invoker (GimpProcedure *procedure, valid = (display != NULL); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_boolean (&return_vals->values[1], valid); return return_vals; @@ -89,7 +89,8 @@ display_new_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_display (&return_vals->values[1], display); @@ -115,7 +116,8 @@ display_delete_invoker (GimpProcedure *procedure, gimp_delete_display (gimp, display); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -138,7 +140,8 @@ display_get_window_handle_invoker (GimpProcedure *procedure, window = (gint32) gimp_get_display_window (gimp, display); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], window); @@ -156,7 +159,7 @@ displays_flush_invoker (GimpProcedure *procedure, { gimp_container_foreach (gimp->images, (GFunc) gimp_image_flush, NULL); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -190,7 +193,8 @@ displays_reconnect_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/drawable-cmds.c b/app/pdb/drawable-cmds.c index aae7e9c6be..bde82dae65 100644 --- a/app/pdb/drawable-cmds.c +++ b/app/pdb/drawable-cmds.c @@ -68,7 +68,7 @@ drawable_is_valid_invoker (GimpProcedure *procedure, valid = (GIMP_IS_DRAWABLE (drawable) && ! gimp_item_is_removed (GIMP_ITEM (drawable))); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_boolean (&return_vals->values[1], valid); return return_vals; @@ -94,7 +94,8 @@ drawable_is_layer_invoker (GimpProcedure *procedure, layer = GIMP_IS_LAYER (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], layer); @@ -122,7 +123,8 @@ drawable_is_text_layer_invoker (GimpProcedure *procedure, text_layer = gimp_drawable_is_text_layer (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], text_layer); @@ -150,7 +152,8 @@ drawable_is_layer_mask_invoker (GimpProcedure *procedure, layer_mask = GIMP_IS_LAYER_MASK (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], layer_mask); @@ -178,7 +181,8 @@ drawable_is_channel_invoker (GimpProcedure *procedure, channel = GIMP_IS_CHANNEL (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], channel); @@ -206,7 +210,8 @@ drawable_type_invoker (GimpProcedure *procedure, type = gimp_drawable_type (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], type); @@ -234,7 +239,8 @@ drawable_type_with_alpha_invoker (GimpProcedure *procedure, type_with_alpha = gimp_drawable_type_with_alpha (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], type_with_alpha); @@ -262,7 +268,8 @@ drawable_has_alpha_invoker (GimpProcedure *procedure, has_alpha = gimp_drawable_has_alpha (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], has_alpha); @@ -290,7 +297,8 @@ drawable_is_rgb_invoker (GimpProcedure *procedure, is_rgb = gimp_drawable_is_rgb (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], is_rgb); @@ -318,7 +326,8 @@ drawable_is_gray_invoker (GimpProcedure *procedure, is_gray = gimp_drawable_is_gray (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], is_gray); @@ -346,7 +355,8 @@ drawable_is_indexed_invoker (GimpProcedure *procedure, is_indexed = gimp_drawable_is_indexed (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], is_indexed); @@ -374,7 +384,8 @@ drawable_bpp_invoker (GimpProcedure *procedure, bpp = gimp_drawable_bytes (drawable); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], bpp); @@ -402,7 +413,8 @@ drawable_width_invoker (GimpProcedure *procedure, width = gimp_item_width (GIMP_ITEM (drawable)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], width); @@ -430,7 +442,8 @@ drawable_height_invoker (GimpProcedure *procedure, height = gimp_item_height (GIMP_ITEM (drawable)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], height); @@ -459,7 +472,8 @@ drawable_offsets_invoker (GimpProcedure *procedure, gimp_item_offsets (GIMP_ITEM (drawable), &offset_x, &offset_y); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -494,7 +508,8 @@ drawable_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -517,7 +532,8 @@ drawable_get_image_invoker (GimpProcedure *procedure, image = gimp_item_get_image (GIMP_ITEM (drawable)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], image); @@ -546,7 +562,8 @@ drawable_set_image_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -569,7 +586,8 @@ drawable_get_name_invoker (GimpProcedure *procedure, name = g_strdup (gimp_object_get_name (GIMP_OBJECT (drawable))); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -597,7 +615,8 @@ drawable_set_name_invoker (GimpProcedure *procedure, success = gimp_item_rename (GIMP_ITEM (drawable), name, error); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -620,7 +639,8 @@ drawable_get_visible_invoker (GimpProcedure *procedure, visible = gimp_item_get_visible (GIMP_ITEM (drawable)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], visible); @@ -648,7 +668,8 @@ drawable_set_visible_invoker (GimpProcedure *procedure, gimp_item_set_visible (GIMP_ITEM (drawable), visible, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -671,7 +692,8 @@ drawable_get_linked_invoker (GimpProcedure *procedure, linked = gimp_item_get_linked (GIMP_ITEM (drawable)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], linked); @@ -699,7 +721,8 @@ drawable_set_linked_invoker (GimpProcedure *procedure, gimp_item_set_linked (GIMP_ITEM (drawable), linked, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -722,7 +745,8 @@ drawable_get_tattoo_invoker (GimpProcedure *procedure, tattoo = gimp_item_get_tattoo (GIMP_ITEM (drawable)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_uint (&return_vals->values[1], tattoo); @@ -750,7 +774,8 @@ drawable_set_tattoo_invoker (GimpProcedure *procedure, gimp_item_set_tattoo (GIMP_ITEM (drawable), tattoo); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -777,7 +802,8 @@ drawable_mask_bounds_invoker (GimpProcedure *procedure, non_empty = gimp_drawable_mask_bounds (drawable, &x1, &y1, &x2, &y2); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -815,7 +841,8 @@ drawable_mask_intersect_invoker (GimpProcedure *procedure, non_empty = gimp_drawable_mask_intersect (drawable, &x, &y, &width, &height); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -859,7 +886,8 @@ drawable_merge_shadow_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -884,7 +912,8 @@ drawable_free_shadow_invoker (GimpProcedure *procedure, gimp_drawable_free_shadow_tiles (drawable); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -913,7 +942,8 @@ drawable_update_invoker (GimpProcedure *procedure, gimp_drawable_update (drawable, x, y, width, height); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -965,7 +995,8 @@ drawable_get_pixel_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1024,7 +1055,8 @@ drawable_set_pixel_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1047,7 +1079,8 @@ drawable_fill_invoker (GimpProcedure *procedure, gimp_drawable_fill_by_type (drawable, context, (GimpFillType) fill_type); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1080,7 +1113,8 @@ drawable_offset_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1147,7 +1181,8 @@ drawable_thumbnail_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1229,7 +1264,8 @@ drawable_sub_thumbnail_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1268,7 +1304,8 @@ drawable_foreground_extract_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/drawable-transform-cmds.c b/app/pdb/drawable-transform-cmds.c index b753c0c8eb..90a698eb58 100644 --- a/app/pdb/drawable-transform-cmds.c +++ b/app/pdb/drawable-transform-cmds.c @@ -81,7 +81,8 @@ drawable_transform_flip_simple_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -157,7 +158,8 @@ drawable_transform_flip_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -231,7 +233,8 @@ drawable_transform_flip_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -317,7 +320,8 @@ drawable_transform_perspective_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -401,7 +405,8 @@ drawable_transform_perspective_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -449,7 +454,8 @@ drawable_transform_rotate_simple_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -529,7 +535,8 @@ drawable_transform_rotate_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -607,7 +614,8 @@ drawable_transform_rotate_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -684,7 +692,8 @@ drawable_transform_scale_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -759,7 +768,8 @@ drawable_transform_scale_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -832,7 +842,8 @@ drawable_transform_shear_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -903,7 +914,8 @@ drawable_transform_shear_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -987,7 +999,8 @@ drawable_transform_2d_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -1069,7 +1082,8 @@ drawable_transform_2d_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -1161,7 +1175,8 @@ drawable_transform_matrix_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -1251,7 +1266,8 @@ drawable_transform_matrix_default_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); diff --git a/app/pdb/edit-cmds.c b/app/pdb/edit-cmds.c index e7431eba5e..31a9bae492 100644 --- a/app/pdb/edit-cmds.c +++ b/app/pdb/edit-cmds.c @@ -82,7 +82,8 @@ edit_cut_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], non_empty); @@ -125,7 +126,8 @@ edit_copy_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], non_empty); @@ -162,7 +164,8 @@ edit_copy_visible_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], non_empty); @@ -203,7 +206,8 @@ edit_paste_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], floating_sel); @@ -235,7 +239,8 @@ edit_paste_as_new_invoker (GimpProcedure *procedure, image = NULL; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], image); @@ -285,7 +290,8 @@ edit_named_cut_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], real_name); @@ -335,7 +341,8 @@ edit_named_copy_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], real_name); @@ -379,7 +386,8 @@ edit_named_copy_visible_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], real_name); @@ -422,7 +430,8 @@ edit_named_paste_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], floating_sel); @@ -460,7 +469,8 @@ edit_named_paste_as_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], image); @@ -493,7 +503,8 @@ edit_clear_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -524,7 +535,8 @@ edit_fill_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -575,7 +587,8 @@ edit_bucket_fill_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -630,7 +643,8 @@ edit_bucket_fill_full_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -711,7 +725,8 @@ edit_blend_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -746,7 +761,8 @@ edit_stroke_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -783,7 +799,8 @@ edit_stroke_vectors_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/fileops-cmds.c b/app/pdb/fileops-cmds.c index cd5d029eca..f00f9109ba 100644 --- a/app/pdb/fileops-cmds.c +++ b/app/pdb/fileops-cmds.c @@ -66,7 +66,8 @@ file_load_invoker (GimpProcedure *procedure, error); if (! uri) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); file_proc = file_procedure_find (gimp->plug_in_manager->load_procs, uri, error); @@ -74,7 +75,8 @@ file_load_invoker (GimpProcedure *procedure, g_free (uri); if (! file_proc) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); proc = GIMP_PROCEDURE (file_proc); @@ -153,7 +155,8 @@ file_load_layer_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -217,7 +220,8 @@ file_load_layers_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -248,7 +252,8 @@ file_save_invoker (GimpProcedure *procedure, error); if (! uri) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); file_proc = file_procedure_find (gimp->plug_in_manager->save_procs, uri, error); @@ -256,7 +261,8 @@ file_save_invoker (GimpProcedure *procedure, g_free (uri); if (! file_proc) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); proc = GIMP_PROCEDURE (file_proc); @@ -316,7 +322,8 @@ file_load_thumbnail_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -349,7 +356,8 @@ file_save_thumbnail_invoker (GimpProcedure *procedure, success = file_utils_save_thumbnail (image, filename); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -372,7 +380,8 @@ temp_name_invoker (GimpProcedure *procedure, name = gimp_get_temp_filename (gimp, extension); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -410,7 +419,8 @@ register_magic_load_handler_invoker (GimpProcedure *procedure, g_free (canonical); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -441,7 +451,8 @@ register_load_handler_invoker (GimpProcedure *procedure, g_free (canonical); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -472,7 +483,8 @@ register_save_handler_invoker (GimpProcedure *procedure, g_free (canonical); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -500,7 +512,8 @@ register_file_handler_mime_invoker (GimpProcedure *procedure, g_free (canonical); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -530,7 +543,8 @@ register_thumbnail_loader_invoker (GimpProcedure *procedure, g_free (canon_thumb); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/floating-sel-cmds.c b/app/pdb/floating-sel-cmds.c index f82fed934f..3f46487da4 100644 --- a/app/pdb/floating-sel-cmds.c +++ b/app/pdb/floating-sel-cmds.c @@ -66,7 +66,8 @@ floating_sel_remove_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -97,7 +98,8 @@ floating_sel_anchor_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -128,7 +130,8 @@ floating_sel_to_layer_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -154,7 +157,8 @@ floating_sel_attach_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -187,7 +191,8 @@ floating_sel_rigor_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -220,7 +225,8 @@ floating_sel_relax_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/font-select-cmds.c b/app/pdb/font-select-cmds.c index 45a1fa2cc8..73354980b9 100644 --- a/app/pdb/font-select-cmds.c +++ b/app/pdb/font-select-cmds.c @@ -59,7 +59,8 @@ fonts_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -83,7 +84,8 @@ fonts_close_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -110,7 +112,8 @@ fonts_set_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/fonts-cmds.c b/app/pdb/fonts-cmds.c index 3878d1fbc8..a71a9c7b50 100644 --- a/app/pdb/fonts-cmds.c +++ b/app/pdb/fonts-cmds.c @@ -45,7 +45,7 @@ fonts_refresh_invoker (GimpProcedure *procedure, { gimp_fonts_load (gimp); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -70,7 +70,8 @@ fonts_get_list_invoker (GimpProcedure *procedure, filter, &num_fonts); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/gimppdb.c b/app/pdb/gimppdb.c index 4ddd4ab6ab..e8a5cd5aaa 100644 --- a/app/pdb/gimppdb.c +++ b/app/pdb/gimppdb.c @@ -302,12 +302,12 @@ gimp_pdb_execute_procedure_by_name_args (GimpPDB *pdb, if (list == NULL) { - g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_PROCEDURE_NOT_FOUND, - _("PDB calling error:\n" - "Procedure '%s' not found"), name); + GError *pdb_error = g_error_new (GIMP_PDB_ERROR, + GIMP_PDB_PROCEDURE_NOT_FOUND, + _("Procedure '%s' not found"), name); - return_vals = gimp_procedure_get_return_values (NULL, FALSE); - g_value_set_enum (return_vals->values, GIMP_PDB_CALLING_ERROR); + return_vals = gimp_procedure_get_return_values (NULL, FALSE, pdb_error); + g_propagate_error (error, pdb_error); return return_vals; } @@ -370,14 +370,14 @@ gimp_pdb_execute_procedure_by_name (GimpPDB *pdb, procedure = gimp_pdb_lookup_procedure (pdb, name); - if (procedure == NULL) + if (! procedure) { - g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_PROCEDURE_NOT_FOUND, - _("PDB calling error:\n" - "Procedure '%s' not found"), name); + GError *pdb_error = g_error_new (GIMP_PDB_ERROR, + GIMP_PDB_PROCEDURE_NOT_FOUND, + _("Procedure '%s' not found"), name); - return_vals = gimp_procedure_get_return_values (NULL, FALSE); - g_value_set_enum (return_vals->values, GIMP_PDB_CALLING_ERROR); + return_vals = gimp_procedure_get_return_values (NULL, FALSE, pdb_error); + g_propagate_error (error, pdb_error); return return_vals; } @@ -401,19 +401,22 @@ gimp_pdb_execute_procedure_by_name (GimpPDB *pdb, if (arg_type != G_VALUE_TYPE (value)) { + GError *pdb_error; const gchar *expected = g_type_name (G_VALUE_TYPE (value)); const gchar *got = g_type_name (arg_type); g_value_array_free (args); - g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, - _("PDB calling error for procedure '%s':\n" - "Argument #%d type mismatch (expected %s, got %s)"), - gimp_object_get_name (GIMP_OBJECT (procedure)), - i + 1, expected, got); + pdb_error = g_error_new (GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, + _("Procedure '%s' called with wrong " + "type for argument #%d " + "(expected %s, got %s)"), + gimp_object_get_name (GIMP_OBJECT (procedure)), + i + 1, expected, got); - return_vals = gimp_procedure_get_return_values (procedure, FALSE); - g_value_set_enum (return_vals->values, GIMP_PDB_CALLING_ERROR); + return_vals = gimp_procedure_get_return_values (procedure, + FALSE, pdb_error); + g_propagate_error (error, pdb_error); va_end (va_args); @@ -424,13 +427,18 @@ gimp_pdb_execute_procedure_by_name (GimpPDB *pdb, if (error_msg) { + GError *pdb_error = g_error_new (GIMP_PDB_ERROR, + GIMP_PDB_INTERNAL_ERROR, + "%s", error_msg); + g_warning ("%s: %s", G_STRFUNC, error_msg); g_free (error_msg); g_value_array_free (args); - return_vals = gimp_procedure_get_return_values (procedure, FALSE); - g_value_set_enum (return_vals->values, GIMP_PDB_CALLING_ERROR); + return_vals = gimp_procedure_get_return_values (procedure, + FALSE, pdb_error); + g_propagate_error (error, pdb_error); va_end (va_args); diff --git a/app/pdb/gimppdberror.h b/app/pdb/gimppdberror.h index 30722b8121..37c085e605 100644 --- a/app/pdb/gimppdberror.h +++ b/app/pdb/gimppdberror.h @@ -23,7 +23,10 @@ typedef enum { GIMP_PDB_PROCEDURE_NOT_FOUND, - GIMP_PDB_INVALID_ARGUMENT + GIMP_PDB_INVALID_ARGUMENT, + GIMP_PDB_INVALID_RETURN_VALUE, + GIMP_PDB_CANCELLED, + GIMP_PDB_INTERNAL_ERROR } GimpPdbErrorCode; diff --git a/app/pdb/gimpprocedure.c b/app/pdb/gimpprocedure.c index 12db024c66..3ad802b3a2 100644 --- a/app/pdb/gimpprocedure.c +++ b/app/pdb/gimpprocedure.c @@ -303,7 +303,8 @@ gimp_procedure_execute (GimpProcedure *procedure, GValueArray *args, GError **error) { - GValueArray *return_vals = NULL; + GValueArray *return_vals; + GError *pdb_error = NULL; g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure), NULL); g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL); @@ -314,10 +315,11 @@ gimp_procedure_execute (GimpProcedure *procedure, if (! gimp_procedure_validate_args (procedure, procedure->args, procedure->num_args, - args, FALSE, error)) + args, FALSE, &pdb_error)) { - return_vals = gimp_procedure_get_return_values (procedure, FALSE); - g_value_set_enum (return_vals->values, GIMP_PDB_CALLING_ERROR); + return_vals = gimp_procedure_get_return_values (procedure, FALSE, + pdb_error); + g_propagate_error (error, pdb_error); return return_vals; } @@ -330,13 +332,15 @@ gimp_procedure_execute (GimpProcedure *procedure, args, error); - /* If there are no return arguments, assume an execution error */ if (! return_vals) { - return_vals = gimp_procedure_get_return_values (procedure, FALSE); - g_value_set_enum (return_vals->values, GIMP_PDB_EXECUTION_ERROR); + pdb_error = g_error_new (GIMP_PDB_ERROR, GIMP_PDB_INVALID_RETURN_VALUE, + _("Procedure '%s' returned no return values"), + gimp_object_get_name (GIMP_OBJECT (procedure))); - return return_vals; + return_vals = gimp_procedure_get_return_values (procedure, FALSE, + pdb_error); + g_propagate_error (error, pdb_error); } return return_vals; @@ -392,36 +396,74 @@ gimp_procedure_get_arguments (GimpProcedure *procedure) GValueArray * gimp_procedure_get_return_values (GimpProcedure *procedure, - gboolean success) + gboolean success, + const GError *error) { GValueArray *args; GValue value = { 0, }; - gint n_args; gint i; - g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure) || - success == FALSE, NULL); + g_return_val_if_fail (success == FALSE || GIMP_IS_PROCEDURE (procedure), + NULL); - if (procedure) - n_args = procedure->num_values + 1; + if (success) + { + args = g_value_array_new (procedure->num_values + 1); + + g_value_init (&value, GIMP_TYPE_PDB_STATUS_TYPE); + g_value_set_enum (&value, GIMP_PDB_SUCCESS); + g_value_array_append (args, &value); + g_value_unset (&value); + + for (i = 0; i < procedure->num_values; i++) + { + g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (procedure->values[i])); + g_value_array_append (args, &value); + g_value_unset (&value); + } + } else - n_args = 1; + { + args = g_value_array_new ((error && error->message) ? 2 : 1); - args = g_value_array_new (n_args); + g_value_init (&value, GIMP_TYPE_PDB_STATUS_TYPE); - g_value_init (&value, GIMP_TYPE_PDB_STATUS_TYPE); - g_value_set_enum (&value, - success ? GIMP_PDB_SUCCESS : GIMP_PDB_EXECUTION_ERROR); - g_value_array_append (args, &value); - g_value_unset (&value); + /* errors in the GIMP_PDB_ERROR domain are calling errors */ + if (error && error->domain == GIMP_PDB_ERROR) + { + switch ((GimpPdbErrorCode) error->code) + { + case GIMP_PDB_PROCEDURE_NOT_FOUND: + case GIMP_PDB_INVALID_ARGUMENT: + case GIMP_PDB_INVALID_RETURN_VALUE: + case GIMP_PDB_INTERNAL_ERROR: + g_value_set_enum (&value, GIMP_PDB_CALLING_ERROR); + break; - if (procedure) - for (i = 0; i < procedure->num_values; i++) - { - g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (procedure->values[i])); - g_value_array_append (args, &value); - g_value_unset (&value); - } + case GIMP_PDB_CANCELLED: + g_value_set_enum (&value, GIMP_PDB_CANCEL); + break; + + default: + g_assert_not_reached (); + } + } + else + { + g_value_set_enum (&value, GIMP_PDB_EXECUTION_ERROR); + } + + g_value_array_append (args, &value); + g_value_unset (&value); + + if (error && error->message) + { + g_value_init (&value, G_TYPE_STRING); + g_value_set_string (&value, error->message); + g_value_array_append (args, &value); + g_value_unset (&value); + } + } return args; } @@ -511,7 +553,8 @@ gimp_procedure_validate_args (GimpProcedure *procedure, { if (return_vals) { - g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, + g_set_error (error, + GIMP_PDB_ERROR, GIMP_PDB_INVALID_RETURN_VALUE, _("Procedure '%s' returned a wrong value type " "for return value '%s' (#%d). " "Expected %s, got %s."), @@ -522,7 +565,8 @@ gimp_procedure_validate_args (GimpProcedure *procedure, } else { - g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, + g_set_error (error, + GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, _("Procedure '%s' has been called with a " "wrong value type for argument '%s' (#%d). " "Expected %s, got %s."), @@ -554,7 +598,7 @@ gimp_procedure_validate_args (GimpProcedure *procedure, if (return_vals) { g_set_error (error, - GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, + GIMP_PDB_ERROR, GIMP_PDB_INVALID_RETURN_VALUE, _("Procedure '%s' returned an " "invalid ID for argument '%s'. " "Most likely a plug-in is trying " @@ -582,7 +626,7 @@ gimp_procedure_validate_args (GimpProcedure *procedure, if (return_vals) { g_set_error (error, - GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, + GIMP_PDB_ERROR, GIMP_PDB_INVALID_RETURN_VALUE, _("Procedure '%s' returned an " "invalid ID for argument '%s'. " "Most likely a plug-in is trying " @@ -614,7 +658,7 @@ gimp_procedure_validate_args (GimpProcedure *procedure, if (return_vals) { g_set_error (error, - GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT, + GIMP_PDB_ERROR, GIMP_PDB_INVALID_RETURN_VALUE, _("Procedure '%s' returned " "'%s' as return value '%s' " "(#%d, type %s). " diff --git a/app/pdb/gimpprocedure.h b/app/pdb/gimpprocedure.h index 48a0a200bf..a3cda284dc 100644 --- a/app/pdb/gimpprocedure.h +++ b/app/pdb/gimpprocedure.h @@ -121,7 +121,8 @@ void gimp_procedure_add_return_value (GimpProcedure *procedure, GValueArray * gimp_procedure_get_arguments (GimpProcedure *procedure); GValueArray * gimp_procedure_get_return_values (GimpProcedure *procedure, - gboolean success); + gboolean success, + const GError *error); GValueArray * gimp_procedure_execute (GimpProcedure *procedure, Gimp *gimp, diff --git a/app/pdb/gimprc-cmds.c b/app/pdb/gimprc-cmds.c index 89f39120d2..c4dfceaedf 100644 --- a/app/pdb/gimprc-cmds.c +++ b/app/pdb/gimprc-cmds.c @@ -70,7 +70,8 @@ gimprc_query_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], value); @@ -104,7 +105,8 @@ gimprc_set_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -120,7 +122,7 @@ get_default_comment_invoker (GimpProcedure *procedure, comment = g_strdup (gimp->config->default_image->comment); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_take_string (&return_vals->values[1], comment); return return_vals; @@ -139,7 +141,7 @@ get_default_unit_invoker (GimpProcedure *procedure, unit_id = gimp_get_default_unit (); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], unit_id); return return_vals; @@ -160,7 +162,7 @@ get_monitor_resolution_invoker (GimpProcedure *procedure, xres = GIMP_DISPLAY_CONFIG (gimp->config)->monitor_xres; yres = GIMP_DISPLAY_CONFIG (gimp->config)->monitor_yres; - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_double (&return_vals->values[1], xres); g_value_set_double (&return_vals->values[2], yres); @@ -181,7 +183,7 @@ get_theme_dir_invoker (GimpProcedure *procedure, theme_dir = g_strdup (gimp_get_theme_dir (gimp)); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_take_string (&return_vals->values[1], theme_dir); return return_vals; @@ -200,7 +202,7 @@ get_color_configuration_invoker (GimpProcedure *procedure, config = gimp_config_serialize_to_string (GIMP_CONFIG (gimp->config->color_management), NULL); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_take_string (&return_vals->values[1], config); return return_vals; @@ -219,7 +221,7 @@ get_module_load_inhibit_invoker (GimpProcedure *procedure, load_inhibit = g_strdup (gimp_module_db_get_load_inhibit (gimp->module_db)); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_take_string (&return_vals->values[1], load_inhibit); return return_vals; diff --git a/app/pdb/gradient-cmds.c b/app/pdb/gradient-cmds.c index 42cae84abe..22ea7d551b 100644 --- a/app/pdb/gradient-cmds.c +++ b/app/pdb/gradient-cmds.c @@ -114,7 +114,8 @@ gradient_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], actual_name); @@ -156,7 +157,8 @@ gradient_duplicate_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], copy_name); @@ -189,7 +191,8 @@ gradient_is_editable_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], editable); @@ -227,7 +230,8 @@ gradient_rename_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], actual_name); @@ -260,7 +264,8 @@ gradient_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -294,7 +299,8 @@ gradient_get_number_of_segments_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], num_segments); @@ -356,7 +362,8 @@ gradient_get_uniform_samples_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -422,7 +429,8 @@ gradient_get_custom_samples_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -467,7 +475,8 @@ gradient_segment_get_left_color_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -513,7 +522,8 @@ gradient_segment_set_left_color_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -550,7 +560,8 @@ gradient_segment_get_right_color_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -596,7 +607,8 @@ gradient_segment_set_right_color_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -631,7 +643,8 @@ gradient_segment_get_left_pos_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], pos); @@ -673,7 +686,8 @@ gradient_segment_set_left_pos_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], final_pos); @@ -713,7 +727,8 @@ gradient_segment_get_middle_pos_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], pos); @@ -756,7 +771,8 @@ gradient_segment_set_middle_pos_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], final_pos); @@ -796,7 +812,8 @@ gradient_segment_get_right_pos_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], pos); @@ -839,7 +856,8 @@ gradient_segment_set_right_pos_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], final_pos); @@ -879,7 +897,8 @@ gradient_segment_get_blending_function_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], blend_func); @@ -919,7 +938,8 @@ gradient_segment_get_coloring_type_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], coloring_type); @@ -965,7 +985,8 @@ gradient_segment_range_set_blending_function_invoker (GimpProcedure *proced success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1006,7 +1027,8 @@ gradient_segment_range_set_coloring_type_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1045,7 +1067,8 @@ gradient_segment_range_flip_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1087,7 +1110,8 @@ gradient_segment_range_replicate_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1126,7 +1150,8 @@ gradient_segment_range_split_midpoint_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1168,7 +1193,8 @@ gradient_segment_range_split_uniform_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1207,7 +1233,8 @@ gradient_segment_range_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1245,7 +1272,8 @@ gradient_segment_range_redistribute_handles_invoker (GimpProcedure *procedu success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1286,7 +1314,8 @@ gradient_segment_range_blend_colors_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1327,7 +1356,8 @@ gradient_segment_range_blend_opacity_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1373,7 +1403,8 @@ gradient_segment_range_move_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], final_delta); diff --git a/app/pdb/gradient-select-cmds.c b/app/pdb/gradient-select-cmds.c index 3aba122985..ee25df60f4 100644 --- a/app/pdb/gradient-select-cmds.c +++ b/app/pdb/gradient-select-cmds.c @@ -68,7 +68,8 @@ gradients_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -93,7 +94,8 @@ gradients_close_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -121,7 +123,8 @@ gradients_set_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/gradients-cmds.c b/app/pdb/gradients-cmds.c index e3285186e2..9bb17f53f4 100644 --- a/app/pdb/gradients-cmds.c +++ b/app/pdb/gradients-cmds.c @@ -49,7 +49,7 @@ gradients_refresh_invoker (GimpProcedure *procedure, { gimp_data_factory_data_refresh (gimp->gradient_factory); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -74,7 +74,8 @@ gradients_get_list_invoker (GimpProcedure *procedure, filter, &num_gradients); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -134,7 +135,8 @@ gradients_sample_uniform_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -192,7 +194,8 @@ gradients_sample_custom_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -269,7 +272,8 @@ gradients_get_gradient_data_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/grid-cmds.c b/app/pdb/grid-cmds.c index b556b84d8e..82e96f2d2a 100644 --- a/app/pdb/grid-cmds.c +++ b/app/pdb/grid-cmds.c @@ -66,7 +66,8 @@ image_grid_get_spacing_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -107,7 +108,8 @@ image_grid_set_spacing_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -139,7 +141,8 @@ image_grid_get_offset_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -180,7 +183,8 @@ image_grid_set_offset_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -208,7 +212,8 @@ image_grid_get_foreground_color_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_rgb (&return_vals->values[1], &fgcolor); @@ -241,7 +246,8 @@ image_grid_set_foreground_color_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -269,7 +275,8 @@ image_grid_get_background_color_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_rgb (&return_vals->values[1], &bgcolor); @@ -302,7 +309,8 @@ image_grid_set_background_color_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -330,7 +338,8 @@ image_grid_get_style_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], style); @@ -363,7 +372,8 @@ image_grid_set_style_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/guides-cmds.c b/app/pdb/guides-cmds.c index 66a9c28066..9c464d80a3 100644 --- a/app/pdb/guides-cmds.c +++ b/app/pdb/guides-cmds.c @@ -65,7 +65,8 @@ image_add_hguide_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_uint (&return_vals->values[1], guide); @@ -103,7 +104,8 @@ image_add_vguide_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_uint (&return_vals->values[1], guide); @@ -136,7 +138,8 @@ image_delete_guide_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -164,7 +167,8 @@ image_find_next_guide_invoker (GimpProcedure *procedure, next_guide = gimp_guide_get_ID (g); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_uint (&return_vals->values[1], next_guide); @@ -199,7 +203,8 @@ image_get_guide_orientation_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], orientation); @@ -234,7 +239,8 @@ image_get_guide_position_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], position); diff --git a/app/pdb/help-cmds.c b/app/pdb/help-cmds.c index 4aa90be986..ff1a0f3415 100644 --- a/app/pdb/help-cmds.c +++ b/app/pdb/help-cmds.c @@ -63,7 +63,8 @@ help_invoker (GimpProcedure *procedure, gimp_help (gimp, progress, help_domain, help_id); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/image-cmds.c b/app/pdb/image-cmds.c index 3895851d3a..15b3f15876 100644 --- a/app/pdb/image-cmds.c +++ b/app/pdb/image-cmds.c @@ -87,7 +87,7 @@ image_is_valid_invoker (GimpProcedure *procedure, valid = GIMP_IS_IMAGE (image); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_boolean (&return_vals->values[1], valid); return return_vals; @@ -119,7 +119,7 @@ image_list_invoker (GimpProcedure *procedure, image_ids[i] = gimp_image_get_ID (GIMP_IMAGE (list->data)); } - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], num_images); gimp_value_take_int32array (&return_vals->values[2], image_ids, num_images); @@ -154,7 +154,8 @@ image_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], image); @@ -185,7 +186,8 @@ image_duplicate_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], new_image); @@ -214,7 +216,8 @@ image_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -237,7 +240,8 @@ image_base_type_invoker (GimpProcedure *procedure, base_type = gimp_image_base_type (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], base_type); @@ -265,7 +269,8 @@ image_width_invoker (GimpProcedure *procedure, width = gimp_image_get_width (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], width); @@ -293,7 +298,8 @@ image_height_invoker (GimpProcedure *procedure, height = gimp_image_get_height (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], height); @@ -318,7 +324,8 @@ image_free_shadow_invoker (GimpProcedure *procedure, { } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -348,7 +355,8 @@ image_resize_invoker (GimpProcedure *procedure, new_width, new_height, offx, offy, NULL); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -369,7 +377,8 @@ image_resize_to_layers_invoker (GimpProcedure *procedure, gimp_image_resize_to_layers (image, context, NULL); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -396,7 +405,8 @@ image_scale_invoker (GimpProcedure *procedure, NULL); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -433,7 +443,8 @@ image_crop_invoker (GimpProcedure *procedure, FALSE, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -456,7 +467,8 @@ image_flip_invoker (GimpProcedure *procedure, gimp_image_flip (image, context, flip_type, NULL); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -479,7 +491,8 @@ image_rotate_invoker (GimpProcedure *procedure, gimp_image_rotate (image, context, rotate_type, NULL); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -515,7 +528,8 @@ image_get_layers_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -559,7 +573,8 @@ image_get_channels_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -603,7 +618,8 @@ image_get_vectors_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -634,7 +650,8 @@ image_get_active_drawable_invoker (GimpProcedure *procedure, drawable = gimp_image_get_active_drawable (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -660,7 +677,8 @@ image_unset_active_channel_invoker (GimpProcedure *procedure, gimp_image_unset_active_channel (image); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -683,7 +701,8 @@ image_get_floating_sel_invoker (GimpProcedure *procedure, floating_sel = gimp_image_floating_sel (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], floating_sel); @@ -716,7 +735,8 @@ image_floating_sel_attached_to_invoker (GimpProcedure *procedure, drawable = NULL; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -782,7 +802,8 @@ image_pick_color_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_rgb (&return_vals->values[1], &color); @@ -814,7 +835,8 @@ image_pick_correlate_layer_invoker (GimpProcedure *procedure, layer = gimp_image_pick_correlate_layer (image, x, y); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -854,7 +876,8 @@ image_add_layer_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -877,7 +900,8 @@ image_remove_layer_invoker (GimpProcedure *procedure, gimp_image_remove_layer (image, layer); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -905,7 +929,8 @@ image_get_layer_position_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], position); @@ -933,7 +958,8 @@ image_raise_layer_invoker (GimpProcedure *procedure, success = gimp_image_raise_layer (image, layer); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -956,7 +982,8 @@ image_lower_layer_invoker (GimpProcedure *procedure, success = gimp_image_lower_layer (image, layer); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -979,7 +1006,8 @@ image_raise_layer_to_top_invoker (GimpProcedure *procedure, success = gimp_image_raise_layer_to_top (image, layer); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1002,7 +1030,8 @@ image_lower_layer_to_bottom_invoker (GimpProcedure *procedure, success = gimp_image_lower_layer_to_bottom (image, layer); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1034,7 +1063,8 @@ image_add_channel_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1057,7 +1087,8 @@ image_remove_channel_invoker (GimpProcedure *procedure, gimp_image_remove_channel (image, channel); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1085,7 +1116,8 @@ image_get_channel_position_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], position); @@ -1113,7 +1145,8 @@ image_raise_channel_invoker (GimpProcedure *procedure, success = gimp_image_raise_channel (image, channel); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1136,7 +1169,8 @@ image_lower_channel_invoker (GimpProcedure *procedure, success = gimp_image_lower_channel (image, channel); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1168,7 +1202,8 @@ image_add_vectors_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1191,7 +1226,8 @@ image_remove_vectors_invoker (GimpProcedure *procedure, gimp_image_remove_vectors (image, vectors); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1219,7 +1255,8 @@ image_get_vectors_position_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], position); @@ -1247,7 +1284,8 @@ image_raise_vectors_invoker (GimpProcedure *procedure, success = gimp_image_raise_vectors (image, vectors); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1270,7 +1308,8 @@ image_lower_vectors_invoker (GimpProcedure *procedure, success = gimp_image_lower_vectors (image, vectors); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1293,7 +1332,8 @@ image_raise_vectors_to_top_invoker (GimpProcedure *procedure, success = gimp_image_raise_vectors_to_top (image, vectors); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1316,7 +1356,8 @@ image_lower_vectors_to_bottom_invoker (GimpProcedure *procedure, success = gimp_image_lower_vectors_to_bottom (image, vectors); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1342,7 +1383,8 @@ image_flatten_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -1375,7 +1417,8 @@ image_merge_visible_layers_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -1410,7 +1453,8 @@ image_merge_down_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -1441,7 +1485,8 @@ image_add_layer_mask_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1466,7 +1511,8 @@ image_remove_layer_mask_invoker (GimpProcedure *procedure, gimp_layer_apply_mask (layer, mode, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1491,7 +1537,8 @@ image_get_colormap_invoker (GimpProcedure *procedure, colormap = g_memdup (gimp_image_get_colormap (image), num_bytes); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1524,7 +1571,8 @@ image_set_colormap_invoker (GimpProcedure *procedure, gimp_image_set_colormap (image, colormap, num_bytes / 3, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1545,7 +1593,8 @@ image_clean_all_invoker (GimpProcedure *procedure, gimp_image_clean_all (image); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1568,7 +1617,8 @@ image_is_dirty_invoker (GimpProcedure *procedure, dirty = (image->dirty != 0); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], dirty); @@ -1635,7 +1685,8 @@ image_thumbnail_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1669,7 +1720,8 @@ image_get_active_layer_invoker (GimpProcedure *procedure, active_layer = gimp_image_get_active_layer (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], active_layer); @@ -1698,7 +1750,8 @@ image_set_active_layer_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1721,7 +1774,8 @@ image_get_active_channel_invoker (GimpProcedure *procedure, active_channel = gimp_image_get_active_channel (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_channel (&return_vals->values[1], active_channel); @@ -1750,7 +1804,8 @@ image_set_active_channel_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1773,7 +1828,8 @@ image_get_active_vectors_invoker (GimpProcedure *procedure, active_vectors = gimp_image_get_active_vectors (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_vectors (&return_vals->values[1], active_vectors); @@ -1802,7 +1858,8 @@ image_set_active_vectors_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1828,7 +1885,8 @@ image_get_selection_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_selection (&return_vals->values[1], selection); @@ -1866,7 +1924,8 @@ image_get_component_active_invoker (GimpProcedure *procedure, active = gimp_image_get_component_active (image, component); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], active); @@ -1904,7 +1963,8 @@ image_set_component_active_invoker (GimpProcedure *procedure, gimp_image_set_component_active (image, component, active); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1937,7 +1997,8 @@ image_get_component_visible_invoker (GimpProcedure *procedure, visible = gimp_image_get_component_visible (image, component); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], visible); @@ -1975,7 +2036,8 @@ image_set_component_visible_invoker (GimpProcedure *procedure, gimp_image_set_component_visible (image, component, visible); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1998,7 +2060,8 @@ image_get_filename_invoker (GimpProcedure *procedure, filename = gimp_image_get_filename (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], filename); @@ -2044,7 +2107,8 @@ image_set_filename_invoker (GimpProcedure *procedure, gimp_image_set_filename (image, filename); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -2072,7 +2136,8 @@ image_get_name_invoker (GimpProcedure *procedure, name = g_strdup (_("Untitled")); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -2101,7 +2166,8 @@ image_get_resolution_invoker (GimpProcedure *procedure, gimp_image_get_resolution (image, &xresolution, &yresolution); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -2147,7 +2213,8 @@ image_set_resolution_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -2170,7 +2237,8 @@ image_get_unit_invoker (GimpProcedure *procedure, unit = gimp_image_get_unit (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], unit); @@ -2198,7 +2266,8 @@ image_set_unit_invoker (GimpProcedure *procedure, gimp_image_set_unit (image, unit); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -2221,7 +2290,8 @@ image_get_tattoo_state_invoker (GimpProcedure *procedure, tattoo_state = gimp_image_get_tattoo_state (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_uint (&return_vals->values[1], tattoo_state); @@ -2249,7 +2319,8 @@ image_set_tattoo_state_invoker (GimpProcedure *procedure, gimp_image_set_tattoo_state (image, tattoo_state); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -2274,7 +2345,8 @@ image_get_layer_by_tattoo_invoker (GimpProcedure *procedure, layer = gimp_image_get_layer_by_tattoo (image, tattoo); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -2304,7 +2376,8 @@ image_get_channel_by_tattoo_invoker (GimpProcedure *procedure, channel = gimp_image_get_channel_by_tattoo (image, tattoo); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_channel (&return_vals->values[1], channel); @@ -2334,7 +2407,8 @@ image_get_vectors_by_tattoo_invoker (GimpProcedure *procedure, vectors = gimp_image_get_vectors_by_tattoo (image, tattoo); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_vectors (&return_vals->values[1], vectors); diff --git a/app/pdb/layer-cmds.c b/app/pdb/layer-cmds.c index 1342a0452e..dcfae51034 100644 --- a/app/pdb/layer-cmds.c +++ b/app/pdb/layer-cmds.c @@ -81,7 +81,8 @@ layer_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -119,7 +120,8 @@ layer_new_from_visible_invoker (GimpProcedure *procedure, GIMP_OPACITY_OPAQUE, GIMP_NORMAL_MODE); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -165,7 +167,8 @@ layer_new_from_drawable_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer_copy); @@ -205,7 +208,8 @@ layer_copy_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer_copy); @@ -231,7 +235,8 @@ layer_add_alpha_invoker (GimpProcedure *procedure, gimp_layer_add_alpha (layer); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -252,7 +257,8 @@ layer_flatten_invoker (GimpProcedure *procedure, gimp_layer_flatten (layer, context); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -284,7 +290,8 @@ layer_scale_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -317,7 +324,8 @@ layer_resize_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -341,7 +349,8 @@ layer_resize_to_image_size_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -376,7 +385,8 @@ layer_translate_invoker (GimpProcedure *procedure, gimp_image_undo_group_end (image); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -414,7 +424,8 @@ layer_set_offsets_invoker (GimpProcedure *procedure, gimp_image_undo_group_end (image); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -455,7 +466,8 @@ layer_create_mask_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer_mask (&return_vals->values[1], mask); @@ -483,7 +495,8 @@ layer_get_mask_invoker (GimpProcedure *procedure, mask = gimp_layer_get_mask (layer); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer_mask (&return_vals->values[1], mask); @@ -511,7 +524,8 @@ layer_from_mask_invoker (GimpProcedure *procedure, layer = gimp_layer_mask_get_layer (mask); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -542,7 +556,8 @@ layer_add_mask_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -568,7 +583,8 @@ layer_remove_mask_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -591,7 +607,8 @@ layer_is_floating_sel_invoker (GimpProcedure *procedure, is_floating_sel = gimp_layer_is_floating_sel (layer); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], is_floating_sel); @@ -619,7 +636,8 @@ layer_get_lock_alpha_invoker (GimpProcedure *procedure, lock_alpha = gimp_layer_get_lock_alpha (layer); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], lock_alpha); @@ -647,7 +665,8 @@ layer_set_lock_alpha_invoker (GimpProcedure *procedure, gimp_layer_set_lock_alpha (layer, lock_alpha, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -673,7 +692,8 @@ layer_get_apply_mask_invoker (GimpProcedure *procedure, apply_mask = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], apply_mask); @@ -704,7 +724,8 @@ layer_set_apply_mask_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -730,7 +751,8 @@ layer_get_show_mask_invoker (GimpProcedure *procedure, show_mask = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], show_mask); @@ -761,7 +783,8 @@ layer_set_show_mask_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -787,7 +810,8 @@ layer_get_edit_mask_invoker (GimpProcedure *procedure, edit_mask = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], edit_mask); @@ -818,7 +842,8 @@ layer_set_edit_mask_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -841,7 +866,8 @@ layer_get_opacity_invoker (GimpProcedure *procedure, opacity = gimp_layer_get_opacity (layer) * 100.0; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], opacity); @@ -869,7 +895,8 @@ layer_set_opacity_invoker (GimpProcedure *procedure, gimp_layer_set_opacity (layer, opacity / 100.0, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -892,7 +919,8 @@ layer_get_mode_invoker (GimpProcedure *procedure, mode = gimp_layer_get_mode (layer); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], mode); @@ -920,7 +948,8 @@ layer_set_mode_invoker (GimpProcedure *procedure, gimp_layer_set_mode (layer, mode, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/message-cmds.c b/app/pdb/message-cmds.c index a32c0205af..b0045229f4 100644 --- a/app/pdb/message-cmds.c +++ b/app/pdb/message-cmds.c @@ -61,7 +61,8 @@ message_invoker (GimpProcedure *procedure, domain, message); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -77,7 +78,7 @@ message_get_handler_invoker (GimpProcedure *procedure, handler = gimp->message_handler; - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_enum (&return_vals->values[1], handler); return return_vals; @@ -101,7 +102,8 @@ message_set_handler_invoker (GimpProcedure *procedure, gimp->message_handler = handler; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/misc-cmds.c b/app/pdb/misc-cmds.c index e4f6dfc22a..f91ac14973 100644 --- a/app/pdb/misc-cmds.c +++ b/app/pdb/misc-cmds.c @@ -48,7 +48,7 @@ version_invoker (GimpProcedure *procedure, version = g_strdup (GIMP_VERSION); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_take_string (&return_vals->values[1], version); return return_vals; @@ -67,7 +67,7 @@ getpid_invoker (GimpProcedure *procedure, pid = get_pid (); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], pid); return return_vals; @@ -91,7 +91,8 @@ quit_invoker (GimpProcedure *procedure, gimp_exit (gimp, force); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/paint-tools-cmds.c b/app/pdb/paint-tools-cmds.c index b822110106..9f396532f4 100644 --- a/app/pdb/paint-tools-cmds.c +++ b/app/pdb/paint-tools-cmds.c @@ -134,7 +134,8 @@ airbrush_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -171,7 +172,8 @@ airbrush_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -223,7 +225,8 @@ clone_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -260,7 +263,8 @@ clone_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -306,7 +310,8 @@ convolve_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -343,7 +348,8 @@ convolve_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -392,7 +398,8 @@ dodgeburn_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -429,7 +436,8 @@ dodgeburn_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -475,7 +483,8 @@ eraser_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -512,7 +521,8 @@ eraser_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -558,7 +568,8 @@ heal_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -595,7 +606,8 @@ heal_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -646,7 +658,8 @@ paintbrush_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -683,7 +696,8 @@ paintbrush_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -720,7 +734,8 @@ pencil_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -763,7 +778,8 @@ smudge_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -800,7 +816,8 @@ smudge_default_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/palette-cmds.c b/app/pdb/palette-cmds.c index 02ca042b62..6a37f763de 100644 --- a/app/pdb/palette-cmds.c +++ b/app/pdb/palette-cmds.c @@ -65,7 +65,8 @@ palette_new_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], actual_name); @@ -107,7 +108,8 @@ palette_duplicate_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], copy_name); @@ -145,7 +147,8 @@ palette_rename_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], actual_name); @@ -178,7 +181,8 @@ palette_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -206,7 +210,8 @@ palette_is_editable_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], editable); @@ -239,7 +244,8 @@ palette_get_info_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], num_colors); @@ -284,7 +290,8 @@ palette_get_colors_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -320,7 +327,8 @@ palette_get_columns_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], num_columns); @@ -353,7 +361,8 @@ palette_set_columns_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -390,7 +399,8 @@ palette_add_entry_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], entry_num); @@ -432,7 +442,8 @@ palette_delete_entry_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -471,7 +482,8 @@ palette_entry_get_color_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_rgb (&return_vals->values[1], &color); @@ -517,7 +529,8 @@ palette_entry_set_color_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -556,7 +569,8 @@ palette_entry_get_name_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], entry_name); @@ -603,7 +617,8 @@ palette_entry_set_name_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/palette-select-cmds.c b/app/pdb/palette-select-cmds.c index 0f20fea9ba..93296f6c14 100644 --- a/app/pdb/palette-select-cmds.c +++ b/app/pdb/palette-select-cmds.c @@ -61,7 +61,8 @@ palettes_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -86,7 +87,8 @@ palettes_close_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -114,7 +116,8 @@ palettes_set_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/palettes-cmds.c b/app/pdb/palettes-cmds.c index 3935fc4302..f5bca28432 100644 --- a/app/pdb/palettes-cmds.c +++ b/app/pdb/palettes-cmds.c @@ -51,7 +51,7 @@ palettes_refresh_invoker (GimpProcedure *procedure, { gimp_data_factory_data_refresh (gimp->palette_factory); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -76,7 +76,8 @@ palettes_get_list_invoker (GimpProcedure *procedure, filter, &num_palettes); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -110,7 +111,8 @@ palettes_get_palette_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -166,7 +168,8 @@ palettes_get_palette_entry_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/parasite-cmds.c b/app/pdb/parasite-cmds.c index 34ed73e53a..1045df43bd 100644 --- a/app/pdb/parasite-cmds.c +++ b/app/pdb/parasite-cmds.c @@ -60,7 +60,8 @@ parasite_find_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_boxed (&return_vals->values[1], parasite); @@ -86,7 +87,8 @@ parasite_attach_invoker (GimpProcedure *procedure, gimp_parasite_attach (gimp, parasite); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -107,7 +109,8 @@ parasite_detach_invoker (GimpProcedure *procedure, gimp_parasite_detach (gimp, name); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -124,7 +127,7 @@ parasite_list_invoker (GimpProcedure *procedure, parasites = gimp_parasite_list (gimp, &num_parasites); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], num_parasites); gimp_value_take_stringarray (&return_vals->values[2], parasites, num_parasites); @@ -157,7 +160,8 @@ image_parasite_find_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_boxed (&return_vals->values[1], parasite); @@ -185,7 +189,8 @@ image_parasite_attach_invoker (GimpProcedure *procedure, gimp_image_parasite_attach (image, parasite); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -208,7 +213,8 @@ image_parasite_detach_invoker (GimpProcedure *procedure, gimp_image_parasite_detach (image, name); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -232,7 +238,8 @@ image_parasite_list_invoker (GimpProcedure *procedure, parasites = gimp_image_parasite_list (image, &num_parasites); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -269,7 +276,8 @@ drawable_parasite_find_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_boxed (&return_vals->values[1], parasite); @@ -297,7 +305,8 @@ drawable_parasite_attach_invoker (GimpProcedure *procedure, gimp_item_parasite_attach (GIMP_ITEM (drawable), parasite); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -320,7 +329,8 @@ drawable_parasite_detach_invoker (GimpProcedure *procedure, gimp_item_parasite_detach (GIMP_ITEM (drawable), name); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -344,7 +354,8 @@ drawable_parasite_list_invoker (GimpProcedure *procedure, parasites = gimp_item_parasite_list (GIMP_ITEM (drawable), &num_parasites); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -381,7 +392,8 @@ vectors_parasite_find_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_boxed (&return_vals->values[1], parasite); @@ -409,7 +421,8 @@ vectors_parasite_attach_invoker (GimpProcedure *procedure, gimp_item_parasite_attach (GIMP_ITEM (vectors), parasite); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -432,7 +445,8 @@ vectors_parasite_detach_invoker (GimpProcedure *procedure, gimp_item_parasite_detach (GIMP_ITEM (vectors), name); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -456,7 +470,8 @@ vectors_parasite_list_invoker (GimpProcedure *procedure, parasites = gimp_item_parasite_list (GIMP_ITEM (vectors), &num_parasites); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/paths-cmds.c b/app/pdb/paths-cmds.c index 8aedfc99b4..f184a677a1 100644 --- a/app/pdb/paths-cmds.c +++ b/app/pdb/paths-cmds.c @@ -67,7 +67,8 @@ path_list_invoker (GimpProcedure *procedure, path_list = gimp_container_get_name_array (image->vectors, &num_paths); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -103,7 +104,8 @@ path_get_current_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -136,7 +138,8 @@ path_set_current_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -164,7 +167,8 @@ path_delete_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -228,7 +232,8 @@ path_get_points_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -304,7 +309,8 @@ path_set_points_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -341,7 +347,8 @@ path_stroke_current_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -416,7 +423,8 @@ path_get_point_at_dist_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -455,7 +463,8 @@ path_get_tattoo_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], tattoo); @@ -490,7 +499,8 @@ path_set_tattoo_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -520,7 +530,8 @@ get_path_by_tattoo_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -555,7 +566,8 @@ path_get_locked_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], locked); @@ -590,7 +602,8 @@ path_set_locked_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -636,7 +649,8 @@ path_to_selection_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -664,7 +678,8 @@ path_import_invoker (GimpProcedure *procedure, merge, scale, -1, NULL, NULL); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/pattern-cmds.c b/app/pdb/pattern-cmds.c index 1c95567a51..37e862e7f7 100644 --- a/app/pdb/pattern-cmds.c +++ b/app/pdb/pattern-cmds.c @@ -69,7 +69,8 @@ pattern_get_info_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -118,7 +119,8 @@ pattern_get_pixels_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/pattern-select-cmds.c b/app/pdb/pattern-select-cmds.c index d787091266..3430477f96 100644 --- a/app/pdb/pattern-select-cmds.c +++ b/app/pdb/pattern-select-cmds.c @@ -61,7 +61,8 @@ patterns_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -86,7 +87,8 @@ patterns_close_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -114,7 +116,8 @@ patterns_set_popup_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/patterns-cmds.c b/app/pdb/patterns-cmds.c index 77428bc8a8..0f628fe03f 100644 --- a/app/pdb/patterns-cmds.c +++ b/app/pdb/patterns-cmds.c @@ -50,7 +50,7 @@ patterns_refresh_invoker (GimpProcedure *procedure, { gimp_data_factory_data_refresh (gimp->pattern_factory); - return gimp_procedure_get_return_values (procedure, TRUE); + return gimp_procedure_get_return_values (procedure, TRUE, NULL); } static GValueArray * @@ -75,7 +75,8 @@ patterns_get_list_invoker (GimpProcedure *procedure, filter, &num_patterns); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -111,7 +112,8 @@ patterns_get_pattern_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -166,7 +168,8 @@ patterns_get_pattern_data_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/plug-in-cmds.c b/app/pdb/plug-in-cmds.c index d51ab2948b..caaf58a5fe 100644 --- a/app/pdb/plug-in-cmds.c +++ b/app/pdb/plug-in-cmds.c @@ -72,7 +72,7 @@ plugins_query_invoker (GimpProcedure *procedure, &plugin_real_name, &plugin_install_time); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], num_plugins); gimp_value_take_stringarray (&return_vals->values[2], menu_path, num_plugins); @@ -120,7 +120,8 @@ plugin_domain_register_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -153,7 +154,8 @@ plugin_help_register_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -187,7 +189,8 @@ plugin_menu_register_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -220,7 +223,8 @@ plugin_menu_branch_register_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -270,7 +274,8 @@ plugin_icon_register_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/procedural-db-cmds.c b/app/pdb/procedural-db-cmds.c index 1be4ec6599..73ea86b5c6 100644 --- a/app/pdb/procedural-db-cmds.c +++ b/app/pdb/procedural-db-cmds.c @@ -53,7 +53,7 @@ procedural_db_temp_name_invoker (GimpProcedure *procedure, temp_name = g_strdup_printf ("temp-procedure-number-%d", proc_number++); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_take_string (&return_vals->values[1], temp_name); return return_vals; @@ -77,7 +77,8 @@ procedural_db_dump_invoker (GimpProcedure *procedure, success = gimp_pdb_dump (gimp->pdb, filename); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -117,7 +118,8 @@ procedural_db_query_invoker (GimpProcedure *procedure, error); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -165,7 +167,8 @@ procedural_db_proc_exists_invoker (GimpProcedure *procedure, exists = (procedure != NULL); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], exists); @@ -212,7 +215,8 @@ procedural_db_proc_info_invoker (GimpProcedure *procedure, g_free (canonical); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -281,7 +285,8 @@ procedural_db_proc_arg_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -345,7 +350,8 @@ procedural_db_proc_val_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -389,7 +395,8 @@ procedural_db_get_data_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -426,7 +433,8 @@ procedural_db_get_data_size_invoker (GimpProcedure *procedure, g_free (canonical); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], bytes); @@ -461,7 +469,8 @@ procedural_db_set_data_invoker (GimpProcedure *procedure, g_free (canonical); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/progress-cmds.c b/app/pdb/progress-cmds.c index 8594ae71d4..5e82304d93 100644 --- a/app/pdb/progress-cmds.c +++ b/app/pdb/progress-cmds.c @@ -63,7 +63,8 @@ progress_init_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -92,7 +93,8 @@ progress_update_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -114,7 +116,8 @@ progress_pulse_invoker (GimpProcedure *procedure, else success = FALSE; - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -143,7 +146,8 @@ progress_set_text_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -166,7 +170,8 @@ progress_end_invoker (GimpProcedure *procedure, else success = FALSE; - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -191,7 +196,8 @@ progress_get_window_handle_invoker (GimpProcedure *procedure, else success = FALSE; - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], window); @@ -222,7 +228,8 @@ progress_install_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -248,7 +255,8 @@ progress_uninstall_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -274,7 +282,8 @@ progress_cancel_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/selection-cmds.c b/app/pdb/selection-cmds.c index 7872370490..cd5be97c5e 100644 --- a/app/pdb/selection-cmds.c +++ b/app/pdb/selection-cmds.c @@ -66,7 +66,8 @@ selection_bounds_invoker (GimpProcedure *procedure, &x1, &y1, &x2, &y2); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -104,7 +105,8 @@ selection_value_invoker (GimpProcedure *procedure, value = gimp_pickable_get_opacity_at (GIMP_PICKABLE (gimp_image_get_mask (image)), x, y); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], value); @@ -132,7 +134,8 @@ selection_is_empty_invoker (GimpProcedure *procedure, is_empty = gimp_channel_is_empty (gimp_image_get_mask (image)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], is_empty); @@ -163,7 +166,8 @@ selection_translate_invoker (GimpProcedure *procedure, offx, offy, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -201,7 +205,8 @@ selection_float_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -227,7 +232,8 @@ selection_invert_invoker (GimpProcedure *procedure, gimp_channel_invert (gimp_image_get_mask (image), TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -248,7 +254,8 @@ selection_sharpen_invoker (GimpProcedure *procedure, gimp_channel_sharpen (gimp_image_get_mask (image), TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -269,7 +276,8 @@ selection_all_invoker (GimpProcedure *procedure, gimp_channel_all (gimp_image_get_mask (image), TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -290,7 +298,8 @@ selection_none_invoker (GimpProcedure *procedure, gimp_channel_clear (gimp_image_get_mask (image), NULL, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -314,7 +323,8 @@ selection_feather_invoker (GimpProcedure *procedure, radius, radius, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -339,7 +349,8 @@ selection_border_invoker (GimpProcedure *procedure, radius, radius, TRUE, TRUE, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -363,7 +374,8 @@ selection_grow_invoker (GimpProcedure *procedure, steps, steps, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -387,7 +399,8 @@ selection_shrink_invoker (GimpProcedure *procedure, steps, steps, FALSE, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -412,7 +425,8 @@ selection_layer_alpha_invoker (GimpProcedure *procedure, GIMP_CHANNEL_OP_REPLACE, FALSE, 0.0, 0.0); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -444,7 +458,8 @@ selection_load_invoker (GimpProcedure *procedure, FALSE, 0.0, 0.0); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -470,7 +485,8 @@ selection_save_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_channel (&return_vals->values[1], channel); @@ -509,7 +525,8 @@ selection_combine_invoker (GimpProcedure *procedure, FALSE, 0.0, 0.0); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/selection-tools-cmds.c b/app/pdb/selection-tools-cmds.c index b24632c36b..39115a0e84 100644 --- a/app/pdb/selection-tools-cmds.c +++ b/app/pdb/selection-tools-cmds.c @@ -83,7 +83,8 @@ by_color_select_invoker (GimpProcedure *procedure, feather_radius); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -136,7 +137,8 @@ by_color_select_full_invoker (GimpProcedure *procedure, feather_radius_y); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -181,7 +183,8 @@ ellipse_select_invoker (GimpProcedure *procedure, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -223,7 +226,8 @@ free_select_invoker (GimpProcedure *procedure, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -273,7 +277,8 @@ fuzzy_select_invoker (GimpProcedure *procedure, feather_radius); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -329,7 +334,8 @@ fuzzy_select_full_invoker (GimpProcedure *procedure, feather_radius_y); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -371,7 +377,8 @@ rect_select_invoker (GimpProcedure *procedure, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -424,7 +431,8 @@ round_rect_select_invoker (GimpProcedure *procedure, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/text-layer-cmds.c b/app/pdb/text-layer-cmds.c index 11bec84b46..2eb5ad64c1 100644 --- a/app/pdb/text-layer-cmds.c +++ b/app/pdb/text-layer-cmds.c @@ -93,7 +93,8 @@ text_layer_new_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], layer); @@ -130,7 +131,8 @@ text_layer_get_text_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], text); @@ -168,7 +170,8 @@ text_layer_set_text_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -200,7 +203,8 @@ text_layer_get_font_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], font); @@ -238,7 +242,8 @@ text_layer_set_font_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -272,7 +277,8 @@ text_layer_get_font_size_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -316,7 +322,8 @@ text_layer_set_font_size_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -350,7 +357,8 @@ text_layer_get_hinting_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -394,7 +402,8 @@ text_layer_set_hinting_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -426,7 +435,8 @@ text_layer_get_antialias_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], antialias); @@ -464,7 +474,8 @@ text_layer_set_antialias_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -496,7 +507,8 @@ text_layer_get_kerning_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], kerning); @@ -534,7 +546,8 @@ text_layer_set_kerning_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -566,7 +579,8 @@ text_layer_get_language_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], language); @@ -604,7 +618,8 @@ text_layer_set_language_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -636,7 +651,8 @@ text_layer_get_base_direction_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], direction); @@ -674,7 +690,8 @@ text_layer_set_base_direction_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -706,7 +723,8 @@ text_layer_get_justification_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_enum (&return_vals->values[1], justify); @@ -744,7 +762,8 @@ text_layer_set_justification_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -774,7 +793,8 @@ text_layer_get_color_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_rgb (&return_vals->values[1], &color); @@ -812,7 +832,8 @@ text_layer_set_color_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -844,7 +865,8 @@ text_layer_get_indent_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], indent); @@ -882,7 +904,8 @@ text_layer_set_indent_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -914,7 +937,8 @@ text_layer_get_line_spacing_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], line_spacing); @@ -952,7 +976,8 @@ text_layer_set_line_spacing_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -984,7 +1009,8 @@ text_layer_get_letter_spacing_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], letter_spacing); @@ -1022,7 +1048,8 @@ text_layer_set_letter_spacing_invoker (GimpProcedure *procedure, } } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } void diff --git a/app/pdb/text-tool-cmds.c b/app/pdb/text-tool-cmds.c index 151dfeb060..9218b3ccec 100644 --- a/app/pdb/text-tool-cmds.c +++ b/app/pdb/text-tool-cmds.c @@ -88,7 +88,8 @@ text_fontname_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], text_layer); @@ -131,7 +132,8 @@ text_get_extents_fontname_invoker (GimpProcedure *procedure, g_free (real_fontname); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -208,7 +210,8 @@ text_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_layer (&return_vals->values[1], text_layer); @@ -265,7 +268,8 @@ text_get_extents_invoker (GimpProcedure *procedure, g_free (real_fontname); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { diff --git a/app/pdb/transform-tools-cmds.c b/app/pdb/transform-tools-cmds.c index 67fd262fc1..bfadfa56a2 100644 --- a/app/pdb/transform-tools-cmds.c +++ b/app/pdb/transform-tools-cmds.c @@ -73,7 +73,8 @@ flip_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -156,7 +157,8 @@ perspective_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -224,7 +226,8 @@ rotate_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -299,7 +302,8 @@ scale_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -369,7 +373,8 @@ shear_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); @@ -443,7 +448,8 @@ transform_2d_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_drawable (&return_vals->values[1], drawable); diff --git a/app/pdb/undo-cmds.c b/app/pdb/undo-cmds.c index 3c96c51178..eb82182d0b 100644 --- a/app/pdb/undo-cmds.c +++ b/app/pdb/undo-cmds.c @@ -67,7 +67,8 @@ image_undo_group_start_invoker (GimpProcedure *procedure, gimp_image_undo_group_start (image, GIMP_UNDO_GROUP_MISC, undo_desc); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -94,7 +95,8 @@ image_undo_group_end_invoker (GimpProcedure *procedure, gimp_image_undo_group_end (image); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -117,7 +119,8 @@ image_undo_is_enabled_invoker (GimpProcedure *procedure, enabled = gimp_image_undo_is_enabled (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], enabled); @@ -153,7 +156,8 @@ image_undo_disable_invoker (GimpProcedure *procedure, disabled = gimp_image_undo_disable (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], disabled); @@ -189,7 +193,8 @@ image_undo_enable_invoker (GimpProcedure *procedure, enabled = gimp_image_undo_enable (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], enabled); @@ -225,7 +230,8 @@ image_undo_freeze_invoker (GimpProcedure *procedure, frozen = gimp_image_undo_freeze (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], frozen); @@ -261,7 +267,8 @@ image_undo_thaw_invoker (GimpProcedure *procedure, thawed = gimp_image_undo_thaw (image); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], thawed); diff --git a/app/pdb/unit-cmds.c b/app/pdb/unit-cmds.c index 3ff3d20d3b..3b16c7b88c 100644 --- a/app/pdb/unit-cmds.c +++ b/app/pdb/unit-cmds.c @@ -47,7 +47,7 @@ unit_get_number_of_units_invoker (GimpProcedure *procedure, num_units = _gimp_unit_get_number_of_units (gimp); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], num_units); return return_vals; @@ -66,7 +66,7 @@ unit_get_number_of_built_in_units_invoker (GimpProcedure *procedure, num_units = _gimp_unit_get_number_of_built_in_units (gimp); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_int (&return_vals->values[1], num_units); return return_vals; @@ -105,7 +105,8 @@ unit_new_invoker (GimpProcedure *procedure, symbol, abbreviation, singular, plural); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], unit_id); @@ -133,7 +134,8 @@ unit_get_deletion_flag_invoker (GimpProcedure *procedure, deletion_flag = _gimp_unit_get_deletion_flag (gimp, unit_id); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], deletion_flag); @@ -161,7 +163,8 @@ unit_set_deletion_flag_invoker (GimpProcedure *procedure, _gimp_unit_set_deletion_flag (gimp, unit_id, deletion_flag); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -184,7 +187,8 @@ unit_get_identifier_invoker (GimpProcedure *procedure, identifier = g_strdup (_gimp_unit_get_identifier (gimp, unit_id)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], identifier); @@ -212,7 +216,8 @@ unit_get_factor_invoker (GimpProcedure *procedure, factor = _gimp_unit_get_factor (gimp, unit_id); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], factor); @@ -240,7 +245,8 @@ unit_get_digits_invoker (GimpProcedure *procedure, digits = _gimp_unit_get_digits (gimp, unit_id); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], digits); @@ -268,7 +274,8 @@ unit_get_symbol_invoker (GimpProcedure *procedure, symbol = g_strdup (_gimp_unit_get_symbol (gimp, unit_id)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], symbol); @@ -296,7 +303,8 @@ unit_get_abbreviation_invoker (GimpProcedure *procedure, abbreviation = g_strdup (_gimp_unit_get_abbreviation (gimp, unit_id)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], abbreviation); @@ -324,7 +332,8 @@ unit_get_singular_invoker (GimpProcedure *procedure, singular = g_strdup (_gimp_unit_get_singular (gimp, unit_id)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], singular); @@ -352,7 +361,8 @@ unit_get_plural_invoker (GimpProcedure *procedure, plural = g_strdup (_gimp_unit_get_plural (gimp, unit_id)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], plural); diff --git a/app/pdb/vectors-cmds.c b/app/pdb/vectors-cmds.c index 64bb3b62d6..7da15a9722 100644 --- a/app/pdb/vectors-cmds.c +++ b/app/pdb/vectors-cmds.c @@ -65,7 +65,7 @@ vectors_is_valid_invoker (GimpProcedure *procedure, valid = (GIMP_IS_VECTORS (vectors) && ! gimp_item_is_removed (GIMP_ITEM (vectors))); - return_vals = gimp_procedure_get_return_values (procedure, TRUE); + return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL); g_value_set_boolean (&return_vals->values[1], valid); return return_vals; @@ -93,7 +93,8 @@ vectors_new_invoker (GimpProcedure *procedure, vectors = gimp_vectors_new (image, name); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_vectors (&return_vals->values[1], vectors); @@ -136,7 +137,8 @@ vectors_new_from_text_layer_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_vectors (&return_vals->values[1], vectors); @@ -168,7 +170,8 @@ vectors_copy_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_vectors (&return_vals->values[1], vectors_copy); @@ -196,7 +199,8 @@ vectors_get_image_invoker (GimpProcedure *procedure, image = gimp_item_get_image (GIMP_ITEM (vectors)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], image); @@ -224,7 +228,8 @@ vectors_get_name_invoker (GimpProcedure *procedure, name = g_strdup (gimp_object_get_name (GIMP_OBJECT (vectors))); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], name); @@ -252,7 +257,8 @@ vectors_set_name_invoker (GimpProcedure *procedure, success = gimp_item_rename (GIMP_ITEM (vectors), name, error); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -275,7 +281,8 @@ vectors_get_visible_invoker (GimpProcedure *procedure, visible = gimp_item_get_visible (GIMP_ITEM (vectors)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], visible); @@ -303,7 +310,8 @@ vectors_set_visible_invoker (GimpProcedure *procedure, gimp_item_set_visible (GIMP_ITEM (vectors), visible, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -326,7 +334,8 @@ vectors_get_linked_invoker (GimpProcedure *procedure, linked = gimp_item_get_linked (GIMP_ITEM (vectors)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], linked); @@ -354,7 +363,8 @@ vectors_set_linked_invoker (GimpProcedure *procedure, gimp_item_set_linked (GIMP_ITEM (vectors), linked, TRUE); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -377,7 +387,8 @@ vectors_get_tattoo_invoker (GimpProcedure *procedure, tattoo = gimp_item_get_tattoo (GIMP_ITEM (vectors)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], tattoo); @@ -405,7 +416,8 @@ vectors_set_tattoo_invoker (GimpProcedure *procedure, gimp_item_set_tattoo (GIMP_ITEM (vectors), tattoo); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -445,7 +457,8 @@ vectors_get_strokes_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -485,7 +498,8 @@ vectors_stroke_get_length_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_double (&return_vals->values[1], length); @@ -534,7 +548,8 @@ vectors_stroke_get_point_at_dist_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -572,7 +587,8 @@ vectors_remove_stroke_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -600,7 +616,8 @@ vectors_stroke_close_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -632,7 +649,8 @@ vectors_stroke_translate_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -664,7 +682,8 @@ vectors_stroke_scale_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -698,7 +717,8 @@ vectors_stroke_rotate_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -730,7 +750,8 @@ vectors_stroke_flip_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -766,7 +787,8 @@ vectors_stroke_flip_free_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -823,7 +845,8 @@ vectors_stroke_get_points_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -892,7 +915,8 @@ vectors_stroke_new_from_points_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], stroke_id); @@ -952,7 +976,8 @@ vectors_stroke_interpolate_invoker (GimpProcedure *procedure, success = FALSE; } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -996,7 +1021,8 @@ vectors_bezier_stroke_new_moveto_invoker (GimpProcedure *procedure, stroke_id = gimp_stroke_get_ID (stroke); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], stroke_id); @@ -1040,7 +1066,8 @@ vectors_bezier_stroke_lineto_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1087,7 +1114,8 @@ vectors_bezier_stroke_conicto_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1142,7 +1170,8 @@ vectors_bezier_stroke_cubicto_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1183,7 +1212,8 @@ vectors_bezier_stroke_new_ellipse_invoker (GimpProcedure *procedure, stroke_id = gimp_stroke_get_ID (stroke); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_set_int (&return_vals->values[1], stroke_id); @@ -1232,7 +1262,8 @@ vectors_to_selection_invoker (GimpProcedure *procedure, success = FALSE; } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1283,7 +1314,8 @@ vectors_import_from_file_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1344,7 +1376,8 @@ vectors_import_from_string_invoker (GimpProcedure *procedure, } } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) { @@ -1377,7 +1410,8 @@ vectors_export_to_file_invoker (GimpProcedure *procedure, success = gimp_vectors_export_file (image, vectors, filename, error); } - return gimp_procedure_get_return_values (procedure, success); + return gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); } static GValueArray * @@ -1404,7 +1438,8 @@ vectors_export_to_string_invoker (GimpProcedure *procedure, success = (string != NULL); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) g_value_take_string (&return_vals->values[1], string); diff --git a/app/plug-in/gimpplugin-message.c b/app/plug-in/gimpplugin-message.c index ae7cc9d50e..d47a7ab7c4 100644 --- a/app/plug-in/gimpplugin-message.c +++ b/app/plug-in/gimpplugin-message.c @@ -37,8 +37,9 @@ #include "core/gimpdrawable.h" #include "core/gimpdrawable-shadow.h" -#include "pdb/gimppdb.h" #include "pdb/gimp-pdb-compat.h" +#include "pdb/gimppdb.h" +#include "pdb/gimppdberror.h" #include "gimpplugin.h" #include "gimpplugin-cleanup.h" @@ -502,11 +503,23 @@ gimp_plug_in_handle_proc_run (GimpPlugIn *plug_in, if (error) { - gimp_message (plug_in->manager->gimp, G_OBJECT (proc_frame->progress), - GIMP_MESSAGE_ERROR, - _("PDB calling error for procedure '%s':\n" - "%s"), - canonical, error->message); + if (error->domain == GIMP_PDB_ERROR) + { + gimp_message (plug_in->manager->gimp, G_OBJECT (proc_frame->progress), + GIMP_MESSAGE_ERROR, + _("PDB calling error for procedure '%s':\n" + "%s"), + canonical, error->message); + } + else + { + gimp_message (plug_in->manager->gimp, G_OBJECT (proc_frame->progress), + GIMP_MESSAGE_ERROR, + _("PDB execution error for procedure '%s':\n" + "%s"), + canonical, error->message); + } + g_error_free (error); } diff --git a/app/plug-in/gimpplugin-progress.c b/app/plug-in/gimpplugin-progress.c index b196485824..3729a9267f 100644 --- a/app/plug-in/gimpplugin-progress.c +++ b/app/plug-in/gimpplugin-progress.c @@ -30,12 +30,15 @@ #include "core/gimpprogress.h" #include "pdb/gimppdb.h" +#include "pdb/gimppdberror.h" #include "gimpplugin.h" #include "gimpplugin-progress.h" #include "gimppluginmanager.h" #include "gimptemporaryprocedure.h" +#include "gimp-intl.h" + /* local function prototypes */ @@ -326,10 +329,13 @@ gimp_plug_in_progress_cancel_callback (GimpProgress *progress, if (proc_frame->main_loop) { - proc_frame->return_vals = gimp_procedure_get_return_values (NULL, - FALSE); + GError *error = g_error_new (GIMP_PDB_ERROR, GIMP_PDB_CANCELLED, + "%s", _("Cancelled")); - g_value_set_enum (proc_frame->return_vals->values, GIMP_PDB_CANCEL); + proc_frame->return_vals = + gimp_procedure_get_return_values (proc_frame->procedure, FALSE, error); + + g_error_free (error); } for (list = plug_in->temp_proc_frames; list; list = g_list_next (list)) @@ -338,8 +344,12 @@ gimp_plug_in_progress_cancel_callback (GimpProgress *progress, if (proc_frame->main_loop) { - proc_frame->return_vals = gimp_procedure_get_return_values (NULL, - FALSE); + GError *error = g_error_new (GIMP_PDB_ERROR, GIMP_PDB_CANCELLED, + "%s", _("Cancelled")); + + proc_frame->return_vals = + gimp_procedure_get_return_values (proc_frame->procedure, + FALSE, error); g_value_set_enum (proc_frame->return_vals->values, GIMP_PDB_CANCEL); } diff --git a/app/plug-in/gimppluginmanager-call.c b/app/plug-in/gimppluginmanager-call.c index e2888ae9e3..92a323cfef 100644 --- a/app/plug-in/gimppluginmanager-call.c +++ b/app/plug-in/gimppluginmanager-call.c @@ -41,6 +41,7 @@ #include "gimpplugin.h" #include "gimpplugin-message.h" #include "gimpplugindef.h" +#include "gimppluginerror.h" #include "gimppluginmanager.h" #define __YES_I_NEED_GIMP_PLUG_IN_MANAGER_CALL__ #include "gimppluginmanager-call.h" @@ -140,7 +141,6 @@ gimp_plug_in_manager_call_run (GimpPlugInManager *manager, GimpPlugInProcedure *procedure, GValueArray *args, gboolean synchronous, - gboolean destroy_return_vals, GimpObject *display) { GValueArray *return_vals = NULL; @@ -167,8 +167,19 @@ gimp_plug_in_manager_call_run (GimpPlugInManager *manager, if (! gimp_plug_in_open (plug_in, GIMP_PLUG_IN_CALL_RUN, FALSE)) { + const gchar *name = gimp_object_get_name (GIMP_OBJECT (plug_in)); + GError *error = g_error_new (GIMP_PLUG_IN_ERROR, + GIMP_PLUG_IN_EXECUTION_FAILED, + _("Failed to run plug-in \"%s\""), + name); + g_object_unref (plug_in); - goto done; + + return_vals = gimp_procedure_get_return_values (GIMP_PROCEDURE (procedure), + FALSE, error); + g_error_free (error); + + return return_vals; } display_ID = display ? gimp_get_display_ID (manager->gimp, display) : -1; @@ -206,14 +217,22 @@ gimp_plug_in_manager_call_run (GimpPlugInManager *manager, ! gp_proc_run_write (plug_in->my_write, &proc_run, plug_in) || ! gimp_wire_flush (plug_in->my_write, plug_in)) { + const gchar *name = gimp_object_get_name (GIMP_OBJECT (plug_in)); + GError *error = g_error_new (GIMP_PLUG_IN_ERROR, + GIMP_PLUG_IN_EXECUTION_FAILED, + _("Failed to run plug-in \"%s\""), + name); + g_free (config.display_name); g_free (proc_run.params); - return_vals = - gimp_procedure_get_return_values (GIMP_PROCEDURE (procedure), FALSE); - g_object_unref (plug_in); - goto done; + + return_vals = gimp_procedure_get_return_values (GIMP_PROCEDURE (procedure), + FALSE, error); + g_error_free (error); + + return return_vals; } g_free (config.display_name); @@ -260,13 +279,6 @@ gimp_plug_in_manager_call_run (GimpPlugInManager *manager, g_object_unref (plug_in); } - done: - if (return_vals && destroy_return_vals) - { - g_value_array_free (return_vals); - return_vals = NULL; - } - return return_vals; } @@ -277,8 +289,7 @@ gimp_plug_in_manager_call_run_temp (GimpPlugInManager *manager, GimpTemporaryProcedure *procedure, GValueArray *args) { - GValueArray *return_vals = NULL; - GimpPlugIn *plug_in; + GimpPlugIn *plug_in; g_return_val_if_fail (GIMP_IS_PLUG_IN_MANAGER (manager), NULL); g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL); @@ -291,6 +302,7 @@ gimp_plug_in_manager_call_run_temp (GimpPlugInManager *manager, if (plug_in) { GimpPlugInProcFrame *proc_frame; + GValueArray *return_vals; GPProcRun proc_run; proc_frame = gimp_plug_in_proc_frame_push (plug_in, context, progress, @@ -303,13 +315,20 @@ gimp_plug_in_manager_call_run_temp (GimpPlugInManager *manager, if (! gp_temp_proc_run_write (plug_in->my_write, &proc_run, plug_in) || ! gimp_wire_flush (plug_in->my_write, plug_in)) { + const gchar *name = gimp_object_get_name (GIMP_OBJECT (plug_in)); + GError *error = g_error_new (GIMP_PLUG_IN_ERROR, + GIMP_PLUG_IN_EXECUTION_FAILED, + _("Failed to run plug-in \"%s\""), + name); + g_free (proc_run.params); gimp_plug_in_proc_frame_pop (plug_in); - return_vals = - gimp_procedure_get_return_values (GIMP_PROCEDURE (procedure), FALSE); + return_vals = gimp_procedure_get_return_values (GIMP_PROCEDURE (procedure), + FALSE, error); + g_error_free (error); - goto done; + return return_vals; } g_free (proc_run.params); @@ -327,8 +346,13 @@ gimp_plug_in_manager_call_run_temp (GimpPlugInManager *manager, gimp_plug_in_proc_frame_unref (proc_frame, plug_in); g_object_unref (plug_in); - } - done: - return return_vals; + return return_vals; + } + else + { + /* can we actually ever get here? */ + return gimp_procedure_get_return_values (GIMP_PROCEDURE (procedure), + FALSE, NULL); + } } diff --git a/app/plug-in/gimppluginmanager-call.h b/app/plug-in/gimppluginmanager-call.h index 5409d4ae57..7aa585280f 100644 --- a/app/plug-in/gimppluginmanager-call.h +++ b/app/plug-in/gimppluginmanager-call.h @@ -46,7 +46,6 @@ GValueArray * gimp_plug_in_manager_call_run (GimpPlugInManager *manage GimpPlugInProcedure *procedure, GValueArray *args, gboolean synchronous, - gboolean destroy_return_vals, GimpObject *display); /* Run a temp plug-in proc as if it were a procedure database procedure diff --git a/app/plug-in/gimppluginprocedure.c b/app/plug-in/gimppluginprocedure.c index 37ad86d9c6..39a44e4d76 100644 --- a/app/plug-in/gimppluginprocedure.c +++ b/app/plug-in/gimppluginprocedure.c @@ -212,7 +212,7 @@ gimp_plug_in_procedure_execute (GimpProcedure *procedure, return gimp_plug_in_manager_call_run (gimp->plug_in_manager, context, progress, GIMP_PLUG_IN_PROCEDURE (procedure), - args, TRUE, FALSE, NULL); + args, TRUE, NULL); } static void @@ -223,10 +223,19 @@ gimp_plug_in_procedure_execute_async (GimpProcedure *procedure, GValueArray *args, GimpObject *display) { - gimp_plug_in_manager_call_run (gimp->plug_in_manager, - context, progress, - GIMP_PLUG_IN_PROCEDURE (procedure), - args, FALSE, TRUE, display); + GimpPlugInProcedure *plug_in_procedure = GIMP_PLUG_IN_PROCEDURE (procedure); + GValueArray *return_vals; + + return_vals = gimp_plug_in_manager_call_run (gimp->plug_in_manager, + context, progress, + plug_in_procedure, + args, FALSE, display); + + /* In case of errors, gimp_plug_in_manager_call_run() may return + * return_vals, even if run asynchronously. + */ + if (return_vals) + g_value_array_free (return_vals); } const gchar * diff --git a/app/plug-in/gimppluginprocframe.c b/app/plug-in/gimppluginprocframe.c index 3afd5c6cc3..4b07ac8728 100644 --- a/app/plug-in/gimppluginprocframe.c +++ b/app/plug-in/gimppluginprocframe.c @@ -29,11 +29,15 @@ #include "core/gimpcontext.h" #include "core/gimpprogress.h" +#include "pdb/gimppdberror.h" + #include "gimpplugin.h" #include "gimpplugin-cleanup.h" #include "gimpplugin-progress.h" #include "gimppluginprocedure.h" +#include "gimp-intl.h" + /* public functions */ @@ -173,7 +177,7 @@ gimp_plug_in_proc_frame_get_return_vals (GimpPlugInProcFrame *proc_frame) { /* Allocate new return values of the correct size. */ return_vals = gimp_procedure_get_return_values (proc_frame->procedure, - FALSE); + TRUE, NULL); /* Copy all of the arguments we can. */ memcpy (return_vals->values, proc_frame->return_vals->values, @@ -191,9 +195,16 @@ gimp_plug_in_proc_frame_get_return_vals (GimpPlugInProcFrame *proc_frame) } else { - /* Just return a dummy set of values. */ - return_vals = gimp_procedure_get_return_values (proc_frame->procedure, - FALSE); + GimpProcedure *procedure = proc_frame->procedure; + GError *error; + + error = g_error_new (GIMP_PDB_ERROR, GIMP_PDB_INVALID_RETURN_VALUE, + _("Procedure '%s' returned no return values"), + gimp_object_get_name (GIMP_OBJECT (procedure))); + + return_vals = gimp_procedure_get_return_values (procedure, FALSE, + error); + g_error_free (error); } return return_vals; diff --git a/app/xcf/xcf.c b/app/xcf/xcf.c index 75575853b5..bd0b02bcba 100644 --- a/app/xcf/xcf.c +++ b/app/xcf/xcf.c @@ -330,7 +330,8 @@ xcf_load_invoker (GimpProcedure *procedure, gimp_filename_to_utf8 (filename), g_strerror (save_errno)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); if (success) gimp_value_set_image (&return_vals->values[1], image); @@ -422,7 +423,8 @@ xcf_save_invoker (GimpProcedure *procedure, gimp_filename_to_utf8 (filename), g_strerror (save_errno)); } - return_vals = gimp_procedure_get_return_values (procedure, success); + return_vals = gimp_procedure_get_return_values (procedure, success, + error ? *error : NULL); gimp_unset_busy (gimp); diff --git a/plug-ins/pygimp/pygimp-pdb.c b/plug-ins/pygimp/pygimp-pdb.c index 9bc9f07d72..7b09c54b4e 100644 --- a/plug-ins/pygimp/pygimp-pdb.c +++ b/plug-ins/pygimp/pygimp-pdb.c @@ -620,9 +620,7 @@ static PyMethodDef pdb_methods[] = { PyObject * pygimp_pdb_new(void) { - PyGimpPDB *self; - - self = PyObject_NEW(PyGimpPDB, &PyGimpPDB_Type); + PyGimpPDB *self = PyObject_NEW(PyGimpPDB, &PyGimpPDB_Type); if (self == NULL) return NULL; @@ -929,8 +927,11 @@ pf_call(PyGimpPDBFunction *self, PyObject *args, PyObject *kwargs) #if PG_DEBUG > 0 g_printerr("execution error\n"); #endif + if (nret > 1 && ret[1].type == GIMP_PDB_STRING) + PyErr_SetString(PyExc_RuntimeError, ret[1].data.d_string); + else + PyErr_SetString(PyExc_RuntimeError, "execution error"); gimp_destroy_params(ret, nret); - PyErr_SetString(PyExc_RuntimeError, "execution error"); return NULL; break; @@ -938,8 +939,11 @@ pf_call(PyGimpPDBFunction *self, PyObject *args, PyObject *kwargs) #if PG_DEBUG > 0 g_printerr("calling error\n"); #endif + if (nret > 1 && ret[1].type == GIMP_PDB_STRING) + PyErr_SetString(PyExc_RuntimeError, ret[1].data.d_string); + else + PyErr_SetString(PyExc_RuntimeError, "calling error"); gimp_destroy_params(ret, nret); - PyErr_SetString(PyExc_TypeError, "invalid arguments"); return NULL; break; diff --git a/po/POTFILES.in b/po/POTFILES.in index 0075543dd1..a56106aaf0 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -274,6 +274,7 @@ app/plug-in/gimppluginmanager-call.c app/plug-in/gimppluginmanager-restore.c app/plug-in/gimppluginmanager.c app/plug-in/gimppluginprocedure.c +app/plug-in/gimppluginprocframe.c app/plug-in/gimptemporaryprocedure.c app/plug-in/plug-in-enums.c app/plug-in/plug-in-icc-profile.c diff --git a/tools/pdbgen/app.pl b/tools/pdbgen/app.pl index f55ee18ded..a67b74946b 100644 --- a/tools/pdbgen/app.pl +++ b/tools/pdbgen/app.pl @@ -128,14 +128,21 @@ sub marshal_inargs { sub marshal_outargs { my $proc = shift; - - my $result = <{outargs}} if exists $proc->{outargs}; + if ($success) { + $result = <plug_in_manager->load_procs, uri, error); @@ -71,7 +72,8 @@ HELP g_free (uri); if (! file_proc) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); proc = GIMP_PROCEDURE (file_proc); @@ -276,7 +278,8 @@ HELP error); if (! uri) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); file_proc = file_procedure_find (gimp->plug_in_manager->save_procs, uri, error); @@ -284,7 +287,8 @@ HELP g_free (uri); if (! file_proc) - return gimp_procedure_get_return_values (procedure, FALSE); + return gimp_procedure_get_return_values (procedure, FALSE, + error ? *error : NULL); proc = GIMP_PROCEDURE (file_proc);