Fix processing params clear when XMP sync enabled

Fix caching of XMP when clearing processing parameters so that it knows
if the pp3 can be deleted without affecting the rank and color labels.
This commit is contained in:
Lawrence Lee
2025-01-20 12:49:36 -08:00
parent d3dca005eb
commit 367041e2e6
2 changed files with 36 additions and 4 deletions

View File

@@ -37,6 +37,7 @@
#include "rtengine/metadata.h"
#include "rtengine/profilestore.h"
#include "rtengine/settings.h"
#include "rtengine/utils.h"
#include "guiutils.h"
#include "batchqueue.h"
#include "extprog.h"
@@ -1418,10 +1419,9 @@ void Thumbnail::updateProcParamsProperties(bool forceUpdate)
pparamsValid = true;
}
const auto getXmpSidecar = [this]() {
static auto xmp = rtengine::Exiv2Metadata::getXmpSidecar(fname);
return xmp;
};
const rtengine::MemoizingSupplier<Exiv2::XmpData> getXmpSidecar([this]() {
return rtengine::Exiv2Metadata::getXmpSidecar(fname);
});
// save procparams rank and color also when options.thumbnailRankColorMode == Options::ThumbnailPropertyMode::XMP
// so they'll be kept in sync