Improve proc params clear when XMP sync enabled

Always check the rank and color label in the XMP if XMP sync is enabled
when clearing the processing parameters. Allows the pp3 to be deleted
whenever possible, even if the rank or color label has been edited.
This commit is contained in:
Lawrence Lee 2025-01-20 12:53:07 -08:00
parent 367041e2e6
commit 1885f5d489
No known key found for this signature in database
GPG Key ID: 048FF2B76A63895F

View File

@ -1430,8 +1430,10 @@ void Thumbnail::updateProcParamsProperties(bool forceUpdate)
if ((properties.rank.edited || forceUpdate) &&
rtengine::LIM(properties.rank.value, 0, 5) != rtengine::LIM(pparams->rank, 0, 5)) {
pparams->rank = properties.rank;
pparamsValid |= properties.rank.edited;
if (!pparamsValid && forceUpdate) {
if (!forceUpdate) {
pparamsValid |= properties.rank.edited;
}
else if (!pparamsValid && forceUpdate) {
// When force-updating, the processing parameters' rank needs not be
// used if the embedded rank is the same.
int initial_rank = 0;
@ -1443,8 +1445,10 @@ void Thumbnail::updateProcParamsProperties(bool forceUpdate)
if ((properties.color.edited || forceUpdate) && properties.color != pparams->colorlabel) {
pparams->colorlabel = properties.color;
pparamsValid |= properties.color.edited;
if (!pparamsValid && forceUpdate) {
if (!forceUpdate) {
pparamsValid |= properties.color.edited;
}
else if (!pparamsValid && forceUpdate) {
// When force-updating, the processing parameters' color label needs
// not be used if the embedded color label is the same.
int initial_color = 0;