Fix T46617 File Output Node seems to save only black images into OpenEXR image data

If the node output had only one layer, it would be detected as singlelayer, and it would miss the blender exr header string
This commit is contained in:
Dalai Felinto 2015-10-28 13:41:01 -02:00
parent 734af18651
commit 20a94e956a
Notes: blender-bot 2023-02-14 08:29:54 +01:00
Referenced by issue #46617, File Output Node seems to save only black images into OpenEXR image data
1 changed files with 9 additions and 2 deletions

View File

@ -1810,8 +1810,15 @@ static void imb_exr_type_by_channels(ChannelList& channels, StringVector& views,
/* will not include empty layer names */
channels.layers(layerNames);
if (views.size() && views[0] != "")
if (views.size() && views[0] != "") {
*r_multiview = true;
}
else {
*r_singlelayer = false;
*r_multilayer = true;
*r_multiview = false;
return;
}
if (layerNames.size()) {
/* if layerNames is not empty, it means at least one layer is non-empty,
@ -1828,7 +1835,7 @@ static void imb_exr_type_by_channels(ChannelList& channels, StringVector& views,
std::string layerName = *i;
size_t pos = layerName.rfind ('.');
if (pos != std::string::npos) {
if (pos == std::string::npos) {
*r_multilayer = true;
*r_singlelayer = false;
return;