# HG changeset patch # User nadvornik # Date 1237120899 0 # Node ID e37cde2857c1e2518387a5595859207904ca9c0b # Parent 2908c28eb59314c00641cad1d853666c8e4a5f82 fixed XMP and IPTC entry names in exif pane diff -r 2908c28eb593 -r e37cde2857c1 src/exiv2.cc --- a/src/exiv2.cc Sun Mar 15 12:20:14 2009 +0000 +++ b/src/exiv2.cc Sun Mar 15 12:41:39 2009 +0000 @@ -797,12 +797,27 @@ { try { Exiv2::ExifKey ekey(key); - return utf8_validate_or_convert(Exiv2::ExifTags::tagLabel(ekey.tag(), ekey.ifdId ())); + return utf8_validate_or_convert(ekey.tagLabel().c_str()); } catch (Exiv2::AnyError& e) { - std::cout << "Caught Exiv2 exception '" << e << "'\n"; - return NULL; + try { + Exiv2::IptcKey ikey(key); + return utf8_validate_or_convert(ikey.tagLabel().c_str()); + } + catch (Exiv2::AnyError& e) { + try { +#if EXIV2_TEST_VERSION(0,16,0) + Exiv2::XmpKey xkey(key); + return utf8_validate_or_convert(xkey.tagLabel().c_str()); +#endif + } + catch (Exiv2::AnyError& e) { + std::cout << "Caught Exiv2 exception '" << e << "'\n"; + return NULL; + } + } } + return NULL; } static const AltKey *find_alt_key(const gchar *xmp_key)