core: Copy correct filters to new layers

Should resolve #11392

In dfb26f37, the NDE filters in the copied image are
retrieved with gimp_image_get_layer_iter (). This works
fine for single layer images or when all the layers are copied
at once. However, if a subset is copied then the filters are always
copied starting from the top level of the image. This can result
in an incorrect filter being copied to the wrong layer.
To fix this, we get the filters from the provided drawables list
instead. This matches the number of layers in the copied
image exactly, since it was used to create the copied image.
This commit is contained in:
Alx Sa 2024-04-26 04:17:08 +00:00
parent 9f1a099202
commit 9a4d365d59
1 changed files with 1 additions and 1 deletions

View File

@ -479,7 +479,7 @@ gimp_image_new_from_drawables (Gimp *gimp,
gimp_image_new_copy_drawables (image, drawables, new_image, tag_copies, NULL, NULL, NULL, NULL);
/* Copy any attached layer effects */
old_layers_list = gimp_image_get_layer_iter (image);
old_layers_list = drawables;
for (new_layers_list = gimp_image_get_layer_iter (new_image);
new_layers_list; new_layers_list = g_list_next (new_layers_list))
{