From e90ffe979b2d8d41e6d88788f514e8c5cf6a3dc5 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Sat, 4 Jan 2020 07:13:24 -0800 Subject: [PATCH] metadata: catch std::exception instead of Exiv2::AnyError for better robustness (cherry picked from commit 0e2d9332f633b060bd4d5cbcd9d47009bab0c46c) --- rtengine/imagedata.cc | 2 +- rtengine/imageio.cc | 2 +- rtengine/metadata.cc | 6 +++--- rtgui/exifpanel.cc | 4 ++-- rtgui/iptcpanel.cc | 2 +- rtgui/thumbnail.cc | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/rtengine/imagedata.cc b/rtengine/imagedata.cc index 368f46bf8..a810bc925 100644 --- a/rtengine/imagedata.cc +++ b/rtengine/imagedata.cc @@ -499,7 +499,7 @@ FramesData::FramesData(const Glib::ustring &fname) : #endif } } - } catch (const Exiv2::AnyError& e) { + } catch (const std::exception& e) { if (settings->verbose) { std::cerr << "EXIV2 ERROR: " << e.what() << std::endl; } diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index 475792e83..b0510e817 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -1385,7 +1385,7 @@ bool ImageIO::saveMetadata(const Glib::ustring &fname) const // } // dst->writeMetadata(); return true; - } catch (const Exiv2::AnyError& exc) { + } catch (const std::exception& exc) { std::cout << "EXIF ERROR: " << exc.what() << std::endl; return false; } diff --git a/rtengine/metadata.cc b/rtengine/metadata.cc index 70e8b785a..ecf4c444f 100644 --- a/rtengine/metadata.cc +++ b/rtengine/metadata.cc @@ -185,7 +185,7 @@ void Exiv2Metadata::do_merge_xmp(Exiv2::Image *dst) const for (auto &datum : xmp) { dst->xmpData()[datum.key()] = datum; } - } catch (Exiv2::AnyError &exc) { + } catch (std::exception &exc) { if (settings->verbose) { std::cerr << "Error loading metadata from XMP sidecar: " << exc.what() << std::endl; @@ -240,7 +240,7 @@ void Exiv2Metadata::import_exif_pairs(Exiv2::ExifData &out) const for (auto &p : *exif_) { try { out[p.first] = p.second; - } catch (Exiv2::AnyError &exc) {} + } catch (std::exception &exc) {} } } @@ -258,7 +258,7 @@ void Exiv2Metadata::import_iptc_pairs(Exiv2::IptcData &out) const out.add(d); } } - } catch (Exiv2::AnyError &exc) {} + } catch (std::exception &exc) {} } } diff --git a/rtgui/exifpanel.cc b/rtgui/exifpanel.cc index 7438240e9..5cc4af341 100644 --- a/rtgui/exifpanel.cc +++ b/rtgui/exifpanel.cc @@ -233,7 +233,7 @@ void ExifPanel::refreshTags() for (const auto& p : *changeList) { try { exif[p.first] = p.second; - } catch (const Exiv2::AnyError& exc) { + } catch (const std::exception& exc) { } } @@ -258,7 +258,7 @@ void ExifPanel::refreshTags() addTag(tag.key(), tag.tagLabel(), tag.print(&exif), false, false); } } - } catch (const Exiv2::AnyError& exc) { + } catch (const std::exception& exc) { return; } diff --git a/rtgui/iptcpanel.cc b/rtgui/iptcpanel.cc index 724b54aa1..f476e7513 100644 --- a/rtgui/iptcpanel.cc +++ b/rtgui/iptcpanel.cc @@ -502,7 +502,7 @@ void IPTCPanel::setImageData (const FramesMetaData* id) (*embeddedData)[tag.key()].push_back(tag.toString()); } } - } catch (const Exiv2::AnyError& exc) { + } catch (const std::exception& exc) { embeddedData->clear(); } } diff --git a/rtgui/thumbnail.cc b/rtgui/thumbnail.cc index 32f80a193..ce5138d28 100644 --- a/rtgui/thumbnail.cc +++ b/rtgui/thumbnail.cc @@ -1231,7 +1231,7 @@ void Thumbnail::saveMetadata() std::cout << "saved edited metadata for " << fname << " to " << fn << std::endl; } - } catch (Exiv2::AnyError &exc) { + } catch (std::exception &exc) { std::cerr << "ERROR saving metadata for " << fname << " to " << fn << ": " << exc.what() << std::endl; }