https://bugs.kde.org/show_bug.cgi?id=391747

--- Comment #5 from Taras <mail+...@tarasonline.ru> ---
May be it is because ImageHistory stores & saves independently of metadata? I
mean that here in removemetadata
(https://github.com/KDE/digikam/blob/9330f9c1e25ce754f374abac840bef2521a032ca/utilities/queuemanager/tools/metadata/removemetadata.cpp#L159)


        if (removeExif || removeIptc || removeXmp)
        {
            image().setMetadata(meta.data());
        }

ret = savefromDImg();

digiKam set metadata to empty value(-s) but then savefromDImg object is
returned.

In savefromDImg() declaration
(https://github.com/KDE/digikam/blob/9330f9c1e25ce754f374abac840bef2521a032ca/utilities/queuemanager/manager/batchtool.cpp#L400)
we can see usage of prepareMetadataToSave() method. There is saving of
ImageHistory in this last method
(https://github.com/KDE/digikam/blob/e114506b7fe6be38727fc33edbba0757f0196989/libs/dimg/dimg.cpp#L3095)
 

if (!m_priv->imageHistory.isEmpty())
    {
        DImageHistory forSaving(m_priv->imageHistory);
        forSaving.adjustReferredImages();

        QUrl url         = QUrl::fromLocalFile(intendedDestPath);
        QString filePath = url.adjusted(QUrl::RemoveFilename |
QUrl::StripTrailingSlash).toLocalFile() + QLatin1Char('/');
        QString fileName = url.fileName();

        if (!filePath.isEmpty() && !fileName.isEmpty())
        {
            forSaving.purgePathFromReferredImages(filePath, fileName);
        }

        QString imageHistoryXml = forSaving.toXml();
        meta.setImageHistory(imageHistoryXml);
}

So it looks like on the final stage digiKam adds history information as
Xmp.digiKam.ImageHistory tag into image with already stripped metadata.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to