Core: Explicitly merge down NDE filters on flatten

Resolves #10769.

Flattening an image or merging down layers caused
us to lose NDE filters on undo, as we flattened with
gimp_gegl_create_flatten_node () which didn't create
an Undo/Redo object.
To fix this, we merge the filters down beforehand with
our API so that they will be restored when undoing.
This commit is contained in:
Alx Sa 2024-02-08 17:04:25 +00:00
parent 92aad54cca
commit d8b1dd8a37

View file

@ -36,6 +36,7 @@
#include "gimp.h"
#include "gimpcontext.h"
#include "gimpdrawable-filters.h"
#include "gimperror.h"
#include "gimpgrouplayer.h"
#include "gimpimage.h"
@ -601,6 +602,10 @@ gimp_image_merge_layers (GimpImage *image,
layer = layers->data;
/* Merge down filter effects so they can be restored on undo */
gimp_drawable_merge_filters (GIMP_DRAWABLE (layer));
gimp_drawable_clear_filters (GIMP_DRAWABLE (layer));
gimp_item_get_offset (GIMP_ITEM (layer), &off_x, &off_y);
switch (merge_type)