diff --git a/libexif/exif-data.c b/libexif/exif-data.c index 58bc99f127138cf1c80d5ca3a890c8e14164163a..9381d6faddac4dc18a3b0bd379655e5f1d61fe23 100644 --- a/libexif/exif-data.c +++ b/libexif/exif-data.c @@ -941,8 +941,10 @@ exif_data_save_data_content (ExifData *data, ExifContent *ifd, * IFD 1. */ exif_set_long (*d + 6 + offset, data->priv->order, *ds - 6); - exif_data_save_data_content (data, data->ifd[EXIF_IFD_1], d, ds, - *ds - 6); + if (data && data->remove_thumbnail != 1) { + exif_data_save_data_content (data, data->ifd[EXIF_IFD_1], d, ds, + *ds - 6); + } } else exif_set_long (*d + 6 + offset, data->priv->order, 0); } diff --git a/libexif/exif-data.h b/libexif/exif-data.h index 26f67a7947f51cdb15f39748104587f5c3844cc9..57b158445f188116023f1ac815154ad3fdc1fbf7 100644 --- a/libexif/exif-data.h +++ b/libexif/exif-data.h @@ -55,6 +55,8 @@ struct _ExifData unsigned int size; ExifDataPrivate *priv; + + unsigned int remove_thumbnail; }; /*! Allocate a new #ExifData. The #ExifData contains an empty