app: also copy the metadata in gimp_image_duplicate()

This commit is contained in:
Michael Natterer
2013-11-21 21:43:28 +01:00
parent ec11a6c6b3
commit c2eda33c1c

View File

@ -22,6 +22,8 @@
#include "core-types.h"
#include "libgimpbase/gimpbase.h"
#include "gimp.h"
#include "gimpchannel.h"
#include "gimpguide.h"
@ -30,6 +32,7 @@
#include "gimpimage-duplicate.h"
#include "gimpimage-grid.h"
#include "gimpimage-guides.h"
#include "gimpimage-metadata.h"
#include "gimpimage-private.h"
#include "gimpimage-undo.h"
#include "gimpimage-sample-points.h"
@ -69,6 +72,8 @@ static void gimp_image_duplicate_sample_points (GimpImage *image,
GimpImage *new_image);
static void gimp_image_duplicate_grid (GimpImage *image,
GimpImage *new_image);
static void gimp_image_duplicate_metadata (GimpImage *image,
GimpImage *new_image);
static void gimp_image_duplicate_quick_mask (GimpImage *image,
GimpImage *new_image);
static void gimp_image_duplicate_parasites (GimpImage *image,
@ -143,6 +148,9 @@ gimp_image_duplicate (GimpImage *image)
/* Copy the grid */
gimp_image_duplicate_grid (image, new_image);
/* Copy the metadata */
gimp_image_duplicate_metadata (image, new_image);
/* Copy the quick mask info */
gimp_image_duplicate_quick_mask (image, new_image);
@ -463,6 +471,20 @@ gimp_image_duplicate_grid (GimpImage *image,
gimp_image_set_grid (new_image, gimp_image_get_grid (image), FALSE);
}
static void
gimp_image_duplicate_metadata (GimpImage *image,
GimpImage *new_image)
{
GimpMetadata *metadata = gimp_image_get_metadata (image);
if (metadata)
{
metadata = gimp_metadata_duplicate (metadata);
gimp_image_set_metadata (new_image, metadata, FALSE);
g_object_unref (metadata);
}
}
static void
gimp_image_duplicate_quick_mask (GimpImage *image,
GimpImage *new_image)