[gimp] libgimp: add gimp_procedure_config_get_procedure()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimp: add gimp_procedure_config_get_procedure()
- Date: Fri, 20 Sep 2019 17:34:45 +0000 (UTC)
commit aa41baef1e62a47315a19a15799e5906506d2525
Author: Michael Natterer <mitch gimp org>
Date: Fri Sep 20 19:33:50 2019 +0200
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.
libgimp/gimp.def | 1 +
libgimp/gimpprocedureconfig.c | 19 +++++++++++++++++++
libgimp/gimpprocedureconfig.h | 27 +++++++++++++++------------
libgimp/gimpproceduredialog.c | 2 ++
4 files changed, 37 insertions(+), 12 deletions(-)
---
diff --git a/libgimp/gimp.def b/libgimp/gimp.def
index 14bdc36caa..be6b2ec6ae 100644
--- a/libgimp/gimp.def
+++ b/libgimp/gimp.def
@@ -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
diff --git a/libgimp/gimpprocedureconfig.c b/libgimp/gimpprocedureconfig.c
index 688868276d..a64bb5f610 100644
--- a/libgimp/gimpprocedureconfig.c
+++ b/libgimp/gimpprocedureconfig.c
@@ -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
diff --git a/libgimp/gimpprocedureconfig.h b/libgimp/gimpprocedureconfig.h
index 3e6fd58e08..4960526fa0 100644
--- a/libgimp/gimpprocedureconfig.h
+++ b/libgimp/gimpprocedureconfig.h
@@ -65,18 +65,21 @@ struct _GimpProcedureConfigClass
};
-GType gimp_procedure_config_get_type (void) G_GNUC_CONST;
-
-void gimp_procedure_config_set_values (GimpProcedureConfig *config,
- const GimpValueArray *values);
-void gimp_procedure_config_get_values (GimpProcedureConfig *config,
- GimpValueArray *values);
-
-void gimp_procedure_config_begin_run (GimpProcedureConfig *config,
- GimpRunMode run_mode,
- const GimpValueArray *args);
-void gimp_procedure_config_end_run (GimpProcedureConfig *config,
- GimpRunMode run_mode);
+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,
+ GimpValueArray *values);
+
+void gimp_procedure_config_begin_run (GimpProcedureConfig *config,
+ GimpRunMode run_mode,
+ const GimpValueArray *args);
+void gimp_procedure_config_end_run (GimpProcedureConfig *config,
+ GimpRunMode run_mode);
G_END_DECLS
diff --git a/libgimp/gimpproceduredialog.c b/libgimp/gimpproceduredialog.c
index ee06fe2264..a6820a5446 100644
--- a/libgimp/gimpproceduredialog.c
+++ b/libgimp/gimpproceduredialog.c
@@ -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));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]