pdb: don't pass nodes with parents to gimp_drawable_apply_operation()

This commit is contained in:
Michael Natterer 2019-08-12 19:41:48 +02:00
parent dcb6a2c064
commit 8222d3ffad
2 changed files with 14 additions and 26 deletions

View File

@ -212,13 +212,10 @@ bump_map (GimpDrawable *drawable,
GIMP_PDB_ITEM_CONTENT, error) && GIMP_PDB_ITEM_CONTENT, error) &&
gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error)) gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error))
{ {
GeglNode *gegl;
GeglNode *node; GeglNode *node;
GeglNode *src_node; GeglNode *src_node;
gegl = gegl_node_new (); node = gegl_node_new_child (NULL,
node = gegl_node_new_child (gegl,
"operation", "gegl:bump-map", "operation", "gegl:bump-map",
"tiled", tiled, "tiled", tiled,
"type", type, "type", type,
@ -233,14 +230,14 @@ bump_map (GimpDrawable *drawable,
"ambient", ambient, "ambient", ambient,
NULL); NULL);
src_node = create_buffer_source_node (gegl, bump_map); src_node = create_buffer_source_node (node, bump_map);
gegl_node_connect_to (src_node, "output", node, "aux"); gegl_node_connect_to (src_node, "output", node, "aux");
gimp_drawable_apply_operation (drawable, progress, gimp_drawable_apply_operation (drawable, progress,
C_("undo-type", "Bump Map"), C_("undo-type", "Bump Map"),
node); node);
g_object_unref (gegl); g_object_unref (node);
return TRUE; return TRUE;
} }
@ -267,7 +264,6 @@ displace (GimpDrawable *drawable,
{ {
if (do_x || do_y) if (do_x || do_y)
{ {
GeglNode *gegl;
GeglNode *node; GeglNode *node;
GeglAbyssPolicy abyss_policy = GEGL_ABYSS_NONE; GeglAbyssPolicy abyss_policy = GEGL_ABYSS_NONE;
@ -284,9 +280,7 @@ displace (GimpDrawable *drawable,
break; break;
} }
gegl = gegl_node_new (); node = gegl_node_new_child (NULL,
node = gegl_node_new_child (gegl,
"operation", "gegl:displace", "operation", "gegl:displace",
"displace_mode", displace_mode, "displace_mode", displace_mode,
"sampler_type", GEGL_SAMPLER_CUBIC, "sampler_type", GEGL_SAMPLER_CUBIC,
@ -298,21 +292,21 @@ displace (GimpDrawable *drawable,
if (do_x) if (do_x)
{ {
GeglNode *src_node; GeglNode *src_node;
src_node = create_buffer_source_node (gegl, displace_map_x); src_node = create_buffer_source_node (node, displace_map_x);
gegl_node_connect_to (src_node, "output", node, "aux"); gegl_node_connect_to (src_node, "output", node, "aux");
} }
if (do_y) if (do_y)
{ {
GeglNode *src_node; GeglNode *src_node;
src_node = create_buffer_source_node (gegl, displace_map_y); src_node = create_buffer_source_node (node, displace_map_y);
gegl_node_connect_to (src_node, "output", node, "aux2"); gegl_node_connect_to (src_node, "output", node, "aux2");
} }
gimp_drawable_apply_operation (drawable, progress, gimp_drawable_apply_operation (drawable, progress,
C_("undo-type", "Displace"), C_("undo-type", "Displace"),
node); node);
g_object_unref (gegl); g_object_unref (node);
} }
return TRUE; return TRUE;

View File

@ -5218,13 +5218,10 @@ bump_map (GimpDrawable *drawable,
GIMP_PDB_ITEM_CONTENT, error) && GIMP_PDB_ITEM_CONTENT, error) &&
gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error)) gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error))
{ {
GeglNode *gegl;
GeglNode *node; GeglNode *node;
GeglNode *src_node; GeglNode *src_node;
gegl = gegl_node_new (); node = gegl_node_new_child (NULL,
node = gegl_node_new_child (gegl,
"operation", "gegl:bump-map", "operation", "gegl:bump-map",
"tiled", tiled, "tiled", tiled,
"type", type, "type", type,
@ -5239,14 +5236,14 @@ bump_map (GimpDrawable *drawable,
"ambient", ambient, "ambient", ambient,
NULL); NULL);
src_node = create_buffer_source_node (gegl, bump_map); src_node = create_buffer_source_node (node, bump_map);
gegl_node_connect_to (src_node, "output", node, "aux"); gegl_node_connect_to (src_node, "output", node, "aux");
gimp_drawable_apply_operation (drawable, progress, gimp_drawable_apply_operation (drawable, progress,
C_("undo-type", "Bump Map"), C_("undo-type", "Bump Map"),
node); node);
g_object_unref (gegl); g_object_unref (node);
return TRUE; return TRUE;
} }
@ -5273,7 +5270,6 @@ displace (GimpDrawable *drawable,
{ {
if (do_x || do_y) if (do_x || do_y)
{ {
GeglNode *gegl;
GeglNode *node; GeglNode *node;
GeglAbyssPolicy abyss_policy = GEGL_ABYSS_NONE; GeglAbyssPolicy abyss_policy = GEGL_ABYSS_NONE;
@ -5290,9 +5286,7 @@ displace (GimpDrawable *drawable,
break; break;
} }
gegl = gegl_node_new (); node = gegl_node_new_child (NULL,
node = gegl_node_new_child (gegl,
"operation", "gegl:displace", "operation", "gegl:displace",
"displace_mode", displace_mode, "displace_mode", displace_mode,
"sampler_type", GEGL_SAMPLER_CUBIC, "sampler_type", GEGL_SAMPLER_CUBIC,
@ -5304,21 +5298,21 @@ displace (GimpDrawable *drawable,
if (do_x) if (do_x)
{ {
GeglNode *src_node; GeglNode *src_node;
src_node = create_buffer_source_node (gegl, displace_map_x); src_node = create_buffer_source_node (node, displace_map_x);
gegl_node_connect_to (src_node, "output", node, "aux"); gegl_node_connect_to (src_node, "output", node, "aux");
} }
if (do_y) if (do_y)
{ {
GeglNode *src_node; GeglNode *src_node;
src_node = create_buffer_source_node (gegl, displace_map_y); src_node = create_buffer_source_node (node, displace_map_y);
gegl_node_connect_to (src_node, "output", node, "aux2"); gegl_node_connect_to (src_node, "output", node, "aux2");
} }
gimp_drawable_apply_operation (drawable, progress, gimp_drawable_apply_operation (drawable, progress,
C_("undo-type", "Displace"), C_("undo-type", "Displace"),
node); node);
g_object_unref (gegl); g_object_unref (node);
} }
return TRUE; return TRUE;