summaryrefslogtreecommitdiff
path: root/src/generators.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/generators.c')
-rw-r--r--src/generators.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/generators.c b/src/generators.c
index 133c4c1..0e1985a 100644
--- a/src/generators.c
+++ b/src/generators.c
@@ -149,6 +149,7 @@ get_image_paths (TGallerySetup *setup,
static void
metadata_apply_overrides (ExifData *exif_data,
TGallerySetup *setup,
+ TPathInfo *path_info,
TAlbum *items,
TIndexItem *item)
{
@@ -156,12 +157,19 @@ metadata_apply_overrides (ExifData *exif_data,
g_free (exif_data->override_copyright);
exif_data->override_copyright = g_strdup (setup->add_copyright);
+
exif_data->timezone_shift = item->metadata_tz_shift;
if (exif_data->timezone_shift == 0)
exif_data->timezone_shift = items->metadata_tz_shift;
+
exif_data->fake_datetime = item->metadata_fake_datetime;
if (exif_data->fake_datetime == (time_t) -1)
exif_data->fake_datetime = items->metadata_fake_datetime;
+
+ g_free (exif_data->external_exif_data);
+ exif_data->external_exif_data = NULL;
+ if (setup->write_supplied_exif && item->metadata_external_exif)
+ exif_data->external_exif_data = g_build_filename (path_info->src_dir, item->metadata_external_exif, NULL);
}
@@ -252,7 +260,7 @@ generate_image (TGallerySetup *setup,
}
if (! is_thumbnail) {
exif_data = exif_data_new_empty ();
- metadata_apply_overrides (exif_data, setup, items, item);
+ metadata_apply_overrides (exif_data, setup, path_info, items, item);
modify_exif (img_dst, exif_data, setup->erase_exif_thumbnail);
exif_data_free (exif_data);
}
@@ -778,7 +786,7 @@ write_html_image (TGallerySetup *setup,
if (exif == NULL)
log_error ("write_html_image: error getting exif data from file \"%s\"\n", img_dst);
}
- metadata_apply_overrides (exif, setup, parent_items, item);
+ metadata_apply_overrides (exif, setup, path_info, parent_items, item);
/* Test for basic EXIF keys presence */
if (exif != NULL && exif_has_key (exif, EXIF_APERTURE) &&
exif_has_key (exif, EXIF_FOCAL_LENGTH) &&