diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/Hill.cxx | 2 | ||||
-rw-r--r-- | src/ImageMetaData.cxx | 47 | ||||
-rw-r--r-- | src/OutputImage.cxx | 5 | ||||
-rw-r--r-- | src/gipfel.cxx | 4 |
6 files changed, 40 insertions, 24 deletions
@@ -1,6 +1,10 @@ gipfel ChangeLog ================= +gipfel-0.4.1 +* fix compilation with newer Exiv2 library +* fix compilation on NetBSD - by Thomas Klausner + gipfel-0.4.0 * Fix compilation with fltk-1.3.x. * Use proper distance for distortion correction. diff --git a/configure.ac b/configure.ac index de66ce1..1766ac2 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(gipfel, 0.4.0, Johannes.Hofmann@gmx.de) +AC_INIT(gipfel, 0.4.1, Johannes.Hofmann@gmx.de) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([src/Panorama.H]) AC_CONFIG_HEADER(config.h) diff --git a/src/Hill.cxx b/src/Hill.cxx index b059897..2aad3f3 100644 --- a/src/Hill.cxx +++ b/src/Hill.cxx @@ -142,7 +142,7 @@ void Hills::mark_duplicates(double dist) { j = i + 1; n = get(j); while (n && fabs(n->phi - m->phi) <= dist) { - if (! n->flags & Hill::DUPLIC) { + if (! (n->flags & Hill::DUPLIC)) { if (fabs(n->lam - m->lam) <= dist && fabs(n->height - m->height) <= 50.0 ) { n->flags |= Hill::DUPLIC; diff --git a/src/ImageMetaData.cxx b/src/ImageMetaData.cxx index b54da74..fa334aa 100644 --- a/src/ImageMetaData.cxx +++ b/src/ImageMetaData.cxx @@ -17,8 +17,7 @@ #include <sys/types.h> #include <sys/stat.h> -#include <exiv2/image.hpp> -#include <exiv2/exif.hpp> +#include <exiv2/exiv2.hpp> #include "../config.h" #include "ImageMetaData.H" @@ -102,12 +101,16 @@ exifSetCoordinate(double *destVal, Exiv2::ExifData *exifData, const char *name) int ImageMetaData::load_image_exif(char *name) { - Exiv2::Image::AutoPtr image; +#if EXIV2_TEST_VERSION(0,28,0) + Exiv2::Image::UniquePtr image; +#else + Exiv2::Image::AutoPtr image; +#endif try { image = Exiv2::ImageFactory::open(name); image->readMetadata(); - } catch (Exiv2::Error error) { + } catch (const Exiv2::Error &error) { fprintf(stderr, "Error reading metadata\n"); return 1; } @@ -134,19 +137,19 @@ ImageMetaData::load_image_exif(char *name) { _model = strdup(pos->toString().c_str()); } - if (isnan(_focal_length)) + if (std::isnan(_focal_length)) exifSetValue(&_focal_length, &exifData, "Exif.Photo.FocalLength"); - if (isnan(_focal_length_35mm)) + if (std::isnan(_focal_length_35mm)) exifSetValue(&_focal_length_35mm, &exifData, "Exif.Photo.FocalLengthIn35mmFilm"); - if (isnan(_longitude)) + if (std::isnan(_longitude)) exifSetCoordinate(&_longitude, &exifData, "Exif.GPSInfo.GPSLongitude"); - if (isnan(_latitude)) + if (std::isnan(_latitude)) exifSetCoordinate(&_latitude, &exifData, "Exif.GPSInfo.GPSLatitude"); - if (isnan(_height)) + if (std::isnan(_height)) exifSetValue(&_height, &exifData, "Exif.GPSInfo.GPSAltitude"); return 0; @@ -170,15 +173,19 @@ ImageMetaData::load_image_jpgcom(char *name) { double lo, la, he, dir, ni, ti, fr, k0, k1, x0 = 0.0; int pt = 0; int n, ret = 1; - Exiv2::Image::AutoPtr image; +#if EXIV2_TEST_VERSION(0,28,0) + Exiv2::Image::UniquePtr image; +#else + Exiv2::Image::AutoPtr image; +#endif - try { - image = Exiv2::ImageFactory::open(name); - image->readMetadata(); - } catch (Exiv2::Error error) { - fprintf(stderr, "Error reading metadata\n"); - return 1; - } + try { + image = Exiv2::ImageFactory::open(name); + image->readMetadata(); + } catch (const Exiv2::Error &error) { + fprintf(stderr, "Error reading metadata\n"); + return 1; + } const char *com = image->comment().c_str(); @@ -245,7 +252,11 @@ ImageMetaData::save_image_jpgcom(char *in_img, char *out_img) { close(in_fd); +#if EXIV2_TEST_VERSION(0,28,0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(tmpname); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(tmpname); +#endif if (!image.get()) err++; @@ -267,7 +278,7 @@ ImageMetaData::save_image_jpgcom(char *in_img, char *out_img) { try { image->writeMetadata(); - } catch (Exiv2::Error error) { + } catch (const Exiv2::Error &error) { fprintf(stderr, "Error writing metadata\n"); err++; } diff --git a/src/OutputImage.cxx b/src/OutputImage.cxx index c5848b4..b4c4739 100644 --- a/src/OutputImage.cxx +++ b/src/OutputImage.cxx @@ -49,9 +49,10 @@ OutputImage::next_line() { int OutputImage::done() { - if (!initialized) + if (!initialized) { return 1; - else + } else { next_line(); return done_internal(); + } } diff --git a/src/gipfel.cxx b/src/gipfel.cxx index 0b8a693..bed5035 100644 --- a/src/gipfel.cxx +++ b/src/gipfel.cxx @@ -1,5 +1,5 @@ // -// Copyright 2007-2014 Johannes Hofmann <Johannes.Hofmann@gmx.de> +// Copyright 2007-2023 Johannes Hofmann <Johannes.Hofmann@gmx.de> // // This software may be used and distributed according to the terms // of the GNU General Public License, incorporated herein by reference. @@ -279,7 +279,7 @@ void distortion_cb(Fl_Value_Input*, void*) { void about_cb() { fl_message("gipfel -- Photogrammetry for Mountain Images.\n" "Version %s\n\n" - "(c) Johannes Hofmann 2006-2014\n\n" + "(c) Johannes Hofmann 2006-2023\n\n" "Homepage: http://flpsed.org/gipfel.html\n\n" "Default datafile from http://www.viewfinderpanoramas.org/ and\n" "http://www.alpin-koordinaten.de\n", |