[gegl] graph: fix graph-node gegl_node_get_{producer, consumers}() for non-"input"/"output" pads



commit c7d96c03e74942f40cbed94a4fc2d1fea15ab2a1
Author: Ell <ell_se yahoo com>
Date:   Tue Jun 2 22:44:59 2020 +0300

    graph: fix graph-node gegl_node_get_{producer,consumers}() for non-"input"/"output" pads
    
    Fix gegl_node_get_{producer,consumers}() for pads other than
    "input" and "output", respectively, when called on a graph node.

 gegl/graph/gegl-node.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gegl/graph/gegl-node.c b/gegl/graph/gegl-node.c
index 530338fd5..9054be160 100644
--- a/gegl/graph/gegl-node.c
+++ b/gegl/graph/gegl-node.c
@@ -1795,9 +1795,10 @@ gegl_node_get_producer (GeglNode     *node,
    */
   if (node->is_graph)
   {
-    node = gegl_node_get_input_proxy (node, "input");
+    node = gegl_node_get_input_proxy (node, pad_name);
     if (!GEGL_IS_NODE (node))
       return NULL;
+    pad_name = "input";
   }
 
   pad = gegl_node_get_pad (node, pad_name);
@@ -1927,7 +1928,10 @@ gegl_node_get_consumers (GeglNode      *node,
   g_return_val_if_fail (output_pad != NULL, 0);
 
   if(node->is_graph)
-    node = gegl_node_get_output_proxy(node, "output");
+    {
+      node = gegl_node_get_output_proxy(node, output_pad);
+      output_pad = "output";
+    }
 
   g_return_val_if_fail (GEGL_IS_NODE (node), 0);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]