[gnome-color-manager/wip/lantw/fix-build-with-exiv2-0.27] Fix build with Exiv2 0.27



commit 6ef6bf5e3909531b874f86cb95381fa0668cf90b
Author: Ting-Wei Lan <lantw src gnome org>
Date:   Sun Nov 18 14:09:08 2018 +0800

    Fix build with Exiv2 0.27
    
    The first parameter of Exiv2::Error has changed from an int to an
    Exiv2::ErrorCode enum.

 src/gcm-helper-exiv.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)
---
diff --git a/src/gcm-helper-exiv.cpp b/src/gcm-helper-exiv.cpp
index 9854e79..ffbc82c 100644
--- a/src/gcm-helper-exiv.cpp
+++ b/src/gcm-helper-exiv.cpp
@@ -24,6 +24,10 @@
 #include <iostream>
 #include <iomanip>
 
+#if EXIV2_MAJOR_VERSION >= 1 || (EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION >= 27)
+#define HAVE_EXIV2_ERROR_CODE
+#endif
+
 int
 main (int argc, char* const argv[])
 {
@@ -51,7 +55,11 @@ main (int argc, char* const argv[])
                if (argc == 2)
                        filename = argv[1];
                if (filename.empty())
+#ifdef HAVE_EXIV2_ERROR_CODE
+                       throw Exiv2::Error(Exiv2::kerErrorMessage, "No filename specified");
+#else
                        throw Exiv2::Error(1, "No filename specified");
+#endif
                image = Exiv2::ImageFactory::open(filename);
                image->readMetadata();
 
@@ -60,7 +68,11 @@ main (int argc, char* const argv[])
                if (exifData.empty()) {
                        std::string error(argv[1]);
                        error += ": No Exif data found in the file";
+#ifdef HAVE_EXIV2_ERROR_CODE
+                       throw Exiv2::Error(Exiv2::kerErrorMessage, error);
+#else
                        throw Exiv2::Error(1, error);
+#endif
                }
 
                /* try to find make, model and serial number */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]