app: hack badly to make gimp_channel_new_from_component() work

insert an intermediate copy to work around an unclear bug that will go
away once we use native GeglBuffers.
This commit is contained in:
Michael Natterer
2012-04-16 00:44:06 +02:00
parent df5ab0f551
commit 66050390aa

View File

@ -1704,9 +1704,27 @@ gimp_channel_new_from_component (GimpImage *image,
dest_buffer = gimp_drawable_get_buffer (GIMP_DRAWABLE (channel));
gegl_buffer_set_format (dest_buffer, format);
gegl_buffer_copy (src_buffer, NULL, dest_buffer, NULL);
gegl_buffer_set_format (dest_buffer, NULL);
if (TRUE)
{
GeglBuffer *temp;
temp = gegl_buffer_new (GEGL_RECTANGLE (0, 0, width, height),
gimp_drawable_get_format (GIMP_DRAWABLE (channel)));
gegl_buffer_set_format (temp, format);
gegl_buffer_copy (src_buffer, NULL, temp, NULL);
gegl_buffer_set_format (temp, NULL);
gegl_buffer_copy (temp, NULL, dest_buffer, NULL);
g_object_unref (temp);
}
else
{
gegl_buffer_set_format (dest_buffer, format);
gegl_buffer_copy (src_buffer, NULL, dest_buffer, NULL);
gegl_buffer_set_format (dest_buffer, NULL);
}
return channel;
}