[gegl] gegl-chain: rearrange parser conditions
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] gegl-chain: rearrange parser conditions
- Date: Thu, 14 Apr 2016 14:54:17 +0000 (UTC)
commit dedf25579d06b51fd1c6d93e170606d34d4d7d9e
Author: Øyvind Kolås <pippin gimp org>
Date: Thu Apr 7 16:43:10 2016 +0200
gegl-chain: rearrange parser conditions
gegl/gegl-serialize.c | 60 ++++++++++++++++++++++++------------------------
1 files changed, 30 insertions(+), 30 deletions(-)
---
diff --git a/gegl/gegl-serialize.c b/gegl/gegl-serialize.c
index fb2f5d6..ff23aa9 100644
--- a/gegl/gegl-serialize.c
+++ b/gegl/gegl-serialize.c
@@ -121,35 +121,6 @@ void gegl_create_chain_argv (char **ops, GeglNode *start, GeglNode *proxy, doubl
if (strchr (*arg, '=')) /* contains = sign, must be a property assignment */
{
char *match= strchr (*arg, '=');
- if (match[1] == '{')
- {
- char *key = g_strdup (*arg);
- char *value = strchr (key, '=') + 1;
- value[-1] = '\0';
- path = gegl_path_new ();
- in_keyframes = 1;
- if (prop)
- g_free (prop);
- prop = g_strdup (key);
-
- g_object_set_qdata_full (G_OBJECT (new), g_quark_from_string(key), path, g_object_unref);
-
- g_free (key);
- }
- else if (match[1] == '[')
- {
- char *pad = g_strdup (*arg);
- char *value = strchr (pad, '=') + 1;
- value[-1] = '\0';
- level_pad[level]=(void*)g_intern_string(pad);
- g_free (pad);
- level++;
-
- iter[level]=NULL;
- level_op[level]=NULL;
- level_pad[level]=NULL;
- }
- else
{
GType target_type = 0;
GValue gvalue={0,};
@@ -181,7 +152,36 @@ void gegl_create_chain_argv (char **ops, GeglNode *start, GeglNode *proxy, doubl
target_type = pspecs[i]->value_type;
}
- if (target_type == 0)
+ if (match[1] == '{')
+ {
+ char *key = g_strdup (*arg);
+ char *value = strchr (key, '=') + 1;
+ value[-1] = '\0';
+ path = gegl_path_new ();
+ in_keyframes = 1;
+ if (prop)
+ g_free (prop);
+ prop = g_strdup (key);
+
+ g_object_set_qdata_full (G_OBJECT (new), g_quark_from_string(key), path, g_object_unref);
+
+ g_free (key);
+ }
+ else if (match[1] == '[')
+ {
+ char *pad = g_strdup (*arg);
+ char *value = strchr (pad, '=') + 1;
+ value[-1] = '\0';
+ level_pad[level]=(void*)g_intern_string(pad);
+ g_free (pad);
+ level++;
+
+ iter[level]=NULL;
+ level_op[level]=NULL;
+ level_pad[level]=NULL;
+ }
+ else
+ if (target_type == 0)
{
if (error && gegl_has_operation (level_op[level]))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]