app: copy the rasterization state for all 3 types implementing GimpRasterizable.

This commit is contained in:
Jehan 2025-10-14 22:04:04 +02:00
parent 6cca90a3c2
commit c5cdea4842
3 changed files with 10 additions and 1 deletions

View file

@ -397,6 +397,9 @@ gimp_link_layer_duplicate (GimpItem *item,
new_layer->p->keep_monitoring = FALSE;
if (gimp_rasterizable_is_rasterized (GIMP_RASTERIZABLE (layer)))
gimp_rasterizable_set_undo_rasterized (GIMP_RASTERIZABLE (new_layer), TRUE);
g_clear_object (&link);
}

View file

@ -380,7 +380,7 @@ static GimpItem *
gimp_vector_layer_duplicate (GimpItem *item,
GType new_type)
{
GimpItem *new_item;
GimpItem *new_item;
g_return_val_if_fail (g_type_is_a (new_type, GIMP_TYPE_DRAWABLE), NULL);
@ -412,6 +412,9 @@ gimp_vector_layer_duplicate (GimpItem *item,
NULL);
g_object_unref (new_options);
}
if (gimp_rasterizable_is_rasterized (GIMP_RASTERIZABLE (vector_layer)))
gimp_rasterizable_set_undo_rasterized (GIMP_RASTERIZABLE (new_vector_layer), TRUE);
}
return new_item;

View file

@ -333,6 +333,9 @@ gimp_text_layer_duplicate (GimpItem *item,
}
new_layer->private->base_dir = layer->private->base_dir;
if (gimp_rasterizable_is_rasterized (GIMP_RASTERIZABLE (layer)))
gimp_rasterizable_set_undo_rasterized (GIMP_RASTERIZABLE (new_layer), TRUE);
}
return new_item;