Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2015-10-28 18:41:01 +0300
committerDalai Felinto <dfelinto@gmail.com>2015-10-28 19:06:55 +0300
commit20a94e956a3532ea1f8c58d745f14fab1881ba80 (patch)
tree4353902675308005cc33338fa90e47182b08db24
parent734af18651b58bec1e1ba96691b95859ad58940e (diff)
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
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_api.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index 63c21827a79..c6140da39a1 100644
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -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;