pdb: don't pass nodes with parents to gimp_drawable_apply_operation()
(cherry picked from commit 8222d3ffad
)
This commit is contained in:
@ -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;
|
||||||
|
@ -5174,13 +5174,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,
|
||||||
@ -5195,14 +5192,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;
|
||||||
}
|
}
|
||||||
@ -5229,7 +5226,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;
|
||||||
|
|
||||||
@ -5246,9 +5242,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,
|
||||||
@ -5260,21 +5254,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;
|
||||||
|
Reference in New Issue
Block a user