diff options
Diffstat (limited to 'src/generators.c')
| -rw-r--r-- | src/generators.c | 12 |
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) && |
