libgimp: add gimp_procedure_config_get_procedure()

and use it in gimp_procedure_dialog_new() to make sure that the passed
config was created by the passed procedure.
This commit is contained in:
Michael Natterer 2019-09-20 19:33:50 +02:00
parent f62665ad31
commit aa41baef1e
4 changed files with 35 additions and 10 deletions

View file

@ -682,6 +682,7 @@ EXPORTS
gimp_procedure_add_return_value_from_property
gimp_procedure_config_begin_run
gimp_procedure_config_end_run
gimp_procedure_config_get_procedure
gimp_procedure_config_get_type
gimp_procedure_config_get_values
gimp_procedure_config_set_values

View file

@ -177,6 +177,25 @@ gimp_procedure_config_get_property (GObject *object,
/* public functions */
/**
* gimp_procedure_config_get_procedure:
* @config: a #GimpProcedureConfig
*
* This function returns the #GimpProcedure which created @config, see
* gimp_procedure_create_config().
*
* Returns: The #GimpProcedure which created @config.
*
* Since: 3.0
**/
GimpProcedure *
gimp_procedure_config_get_procedure (GimpProcedureConfig *config)
{
g_return_val_if_fail (GIMP_IS_PROCEDURE_CONFIG (config), NULL);
return config->priv->procedure;
}
/**
* gimp_procedure_config_set_values:
* @config: a #GimpProcedureConfig

View file

@ -67,6 +67,9 @@ struct _GimpProcedureConfigClass
GType gimp_procedure_config_get_type (void) G_GNUC_CONST;
GimpProcedure *
gimp_procedure_config_get_procedure (GimpProcedureConfig *config);
void gimp_procedure_config_set_values (GimpProcedureConfig *config,
const GimpValueArray *values);
void gimp_procedure_config_get_values (GimpProcedureConfig *config,

View file

@ -168,6 +168,8 @@ gimp_procedure_dialog_new (GimpProcedure *procedure,
g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure), NULL);
g_return_val_if_fail (GIMP_IS_PROCEDURE_CONFIG (config), NULL);
g_return_val_if_fail (gimp_procedure_config_get_procedure (config) ==
procedure, NULL);
g_return_val_if_fail (title != NULL, NULL);
role = g_strdup_printf ("gimp-%s", gimp_procedure_get_name (procedure));