diff src/bar_exif.c @ 1069:aeae25d5d50d

infrastructure for preprocessing of metadata
author nadvornik
date Sat, 18 Oct 2008 18:22:57 +0000
parents e67636316f4c
children 9e424170e958
line wrap: on
line diff
--- a/src/bar_exif.c	Sat Oct 18 09:07:52 2008 +0000
+++ b/src/bar_exif.c	Sat Oct 18 18:22:57 2008 +0000
@@ -180,16 +180,27 @@
 
 static void bar_exif_update(ExifBar *eb)
 {
+	ExifData *exif_processed;
 	ExifData *exif;
 	gint i;
 
-	exif = exif_read_fd(eb->fd);
+	exif_processed = exif_read_fd(eb->fd);
 
-	if (!exif)
+	if (!exif_processed)
 		{
 		bar_exif_sensitive(eb, FALSE);
 		return;
 		}
+	
+	if (eb->advanced_scrolled)
+		{
+		/* show the original values from the file */
+		exif = exif_get_original(exif_processed);
+		}
+	else
+		{
+		exif = exif_processed;
+		}
 
 	bar_exif_sensitive(eb, TRUE);
 
@@ -334,7 +345,7 @@
 			}
 		}
 
-	exif_free_fd(eb->fd, exif);
+	exif_free_fd(eb->fd, exif_processed);
 }
 
 static void bar_exif_clear(ExifBar *eb)