[gimp] libgimp: GimpProcedure args and return values must have have unique
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimp: GimpProcedure args and return values must have have unique
- Date: Mon, 2 Sep 2019 16:54:37 +0000 (UTC)
commit 86a99a942fb92437c4889f8664445987aaf6666f
Author: Michael Natterer <mitch gimp org>
Date: Mon Sep 2 18:53:30 2019 +0200
libgimp: GimpProcedure args and return values must have have unique
and canonical names now.
libgimp/gimpprocedure.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
---
diff --git a/libgimp/gimpprocedure.c b/libgimp/gimpprocedure.c
index 2596d574bc..24f60c1467 100644
--- a/libgimp/gimpprocedure.c
+++ b/libgimp/gimpprocedure.c
@@ -1033,8 +1033,20 @@ void
gimp_procedure_add_argument (GimpProcedure *procedure,
GParamSpec *pspec)
{
+ gint i;
+
g_return_if_fail (GIMP_IS_PROCEDURE (procedure));
g_return_if_fail (G_IS_PARAM_SPEC (pspec));
+ g_return_if_fail (gimp_is_canonical_identifier (pspec->name));
+
+ for (i = 0; i < procedure->priv->n_args; i++)
+ if (! strcmp (pspec->name, procedure->priv->args[i]->name))
+ {
+ g_warning ("Argument with name '%s' already exists on procedure '%s'",
+ pspec->name,
+ gimp_procedure_get_name (procedure));
+ return;
+ }
procedure->priv->args = g_renew (GParamSpec *, procedure->priv->args,
procedure->priv->n_args + 1);
@@ -1095,8 +1107,20 @@ void
gimp_procedure_add_return_value (GimpProcedure *procedure,
GParamSpec *pspec)
{
+ gint i;
+
g_return_if_fail (GIMP_IS_PROCEDURE (procedure));
g_return_if_fail (G_IS_PARAM_SPEC (pspec));
+ g_return_if_fail (gimp_is_canonical_identifier (pspec->name));
+
+ for (i = 0; i < procedure->priv->n_values; i++)
+ if (! strcmp (pspec->name, procedure->priv->values[i]->name))
+ {
+ g_warning ("Return value with name '%s' already exists on procedure '%s'",
+ pspec->name,
+ gimp_procedure_get_name (procedure));
+ return;
+ }
procedure->priv->values = g_renew (GParamSpec *, procedure->priv->values,
procedure->priv->n_values + 1);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]