diff --git a/src/libcore/bitmap.cpp b/src/libcore/bitmap.cpp index 2b1e0d27..5261e75f 100644 --- a/src/libcore/bitmap.cpp +++ b/src/libcore/bitmap.cpp @@ -3247,13 +3247,16 @@ void Bitmap::writeOpenEXR(Stream *stream) const { return; } + if (!m_channelNames.empty() && m_channelNames.size() != (size_t) getChannelCount()) + Log(EWarn, "writeOpenEXR(): 'channelNames' has the wrong number of entries (%i, expected %i), ignoring..!", + (int) m_channelNames.size(), (int) m_channelCount); + + bool explicitChannelNames = false; Imf::ChannelList &channels = header.channels(); - if (!m_channelNames.empty()) { - if (m_channelNames.size() != (size_t) m_channelCount) - Log(EError, "writeOpenEXR(): 'channelNames' has the wrong number of entries (%i, expected %i)!", - (int) m_channelNames.size(), (int) m_channelCount); + if (m_channelNames.size() == (size_t) getChannelCount()) { for (size_t i=0; i