diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp index 3d2c6e8d..e2d47211 100644 --- a/src/jpgimage.cpp +++ b/src/jpgimage.cpp @@ -526,11 +526,15 @@ namespace Exiv2 { } } if (writeXmpFromPacket() == false) { - if (XmpParser::encode(xmpPacket_, xmpData_)) { + std::string tmpXmpPacket; + if (XmpParser::encode(tmpXmpPacket, xmpData_)) { #ifndef SUPPRESS_WARNINGS - std::cerr << "Warning: Failed to encode XMP metadata.\n"; + std::cerr << "Error: Failed to encode XMP metadata.\n"; #endif } + else { + xmpPacket_ = tmpXmpPacket; + } } if (xmpPacket_.size() > 0) { // Write APP1 marker, size of APP1 field, XMP id and XMP packet