summaryrefslogtreecommitdiff
path: root/src/protocols/ColorManagement.cpp
diff options
context:
space:
mode:
authorLee Bousfield <ljbousfield@gmail.com>2025-03-29 19:25:27 -0500
committerGitHub <noreply@github.com>2025-03-30 01:25:27 +0100
commit86c279d7d0df9a6f2a78b47f3ca966272a9b9ee0 (patch)
treee68766ce32a35c20df2bc737b8ef7cd8fd46ebf0 /src/protocols/ColorManagement.cpp
parent46b00a4a861370e2ba560732df6f0783cf5cf9b5 (diff)
protocols: Don't update hdr metadata if image description is unchanged (#9776)
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;
}