Some digital cameras do not set the DateTime exif field bat use
DateTimeOriginal. If the first option is not found, use the second one
to try to detect the moment when the image was shot.

Signed-off-by: Miika Turkia <miika.tur...@gmail.com>
---
 qt-ui/simplewidgets.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp
index 1e189c1..4ee3998 100644
--- a/qt-ui/simplewidgets.cpp
+++ b/qt-ui/simplewidgets.cpp
@@ -209,7 +209,10 @@ time_t ShiftImageTimesDialog::epochFromExiv(EXIFInfo *exif)
        struct tm tm;
        int year, month, day, hour, min, sec;
 
-       sscanf(exif->DateTime.c_str(), "%d:%d:%d %d:%d:%d", &year, &month, 
&day, &hour, &min, &sec);
+       if (strlen(exif->DateTime.c_str()))
+               sscanf(exif->DateTime.c_str(), "%d:%d:%d %d:%d:%d", &year, 
&month, &day, &hour, &min, &sec);
+       else
+               sscanf(exif->DateTimeOriginal.c_str(), "%d:%d:%d %d:%d:%d", 
&year, &month, &day, &hour, &min, &sec);
        tm.tm_year = year;
        tm.tm_mon = month - 1;
        tm.tm_mday = day;
-- 
1.8.3.2

_______________________________________________
subsurface mailing list
subsurface@hohndel.org
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to