summaryrefslogtreecommitdiff
path: root/src/protocols/ColorManagement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/ColorManagement.cpp')
-rw-r--r--src/protocols/ColorManagement.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/protocols/ColorManagement.cpp b/src/protocols/ColorManagement.cpp
index b6aee17b..91dc0eac 100644
--- a/src/protocols/ColorManagement.cpp
+++ b/src/protocols/ColorManagement.cpp
@@ -331,11 +331,16 @@ const hdr_output_metadata& CColorManagementSurface::hdrMetadata() {
}
void CColorManagementSurface::setHDRMetadata(const hdr_output_metadata& metadata) {
- m_hdrMetadata = metadata;
- m_needsNewMetadata = false;
+ m_hdrMetadata = metadata;
+ m_lastImageDescription = m_imageDescription;
+ m_needsNewMetadata = false;
}
bool CColorManagementSurface::needsHdrMetadataUpdate() {
+ if (!m_needsNewMetadata)
+ return false;
+ if (m_imageDescription == m_lastImageDescription)
+ m_needsNewMetadata = false;
return m_needsNewMetadata;
}