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
path: root/intern
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2018-05-27 18:26:59 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2018-05-27 18:26:59 +0300
commit1863883a248faa1fcae4b99332c8d5e6d3957845 (patch)
treeadb53f3624e5e90b70e48e32c3b0a89c749fe94e /intern
parent47f2b3b80d748ccfe1192dbd7c3176be88814da1 (diff)
parentedce44d6931586fad3cee019db762d54e73a886a (diff)
Merge branch 'master' into blender2.8
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_shader.cpp3
-rw-r--r--intern/cycles/blender/blender_util.h2
-rw-r--r--intern/cycles/render/light.cpp6
-rw-r--r--intern/cycles/util/util_ies.cpp4
4 files changed, 12 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index 15d633b5c9a..8847d651b02 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -820,6 +820,9 @@ static ShaderNode *add_node(Scene *scene,
break;
case BL::ShaderNodeTexIES::mode_INTERNAL:
ies->ies = get_text_datablock_content(b_ies_node.ies().ptr);
+ if(ies->ies.empty()) {
+ ies->ies = "\n";
+ }
break;
}
node = ies;
diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h
index 983988f4e36..8a874b7063e 100644
--- a/intern/cycles/blender/blender_util.h
+++ b/intern/cycles/blender/blender_util.h
@@ -468,7 +468,7 @@ static inline string blender_absolute_path(BL::BlendData& b_data,
return path;
}
-static inline string get_text_datablock_content(const PointerRNA&& ptr)
+static inline string get_text_datablock_content(const PointerRNA& ptr)
{
if(ptr.data == NULL) {
return "";
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp
index 91f9b4e3bec..806f1cad03e 100644
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@ -898,8 +898,10 @@ void LightManager::tag_update(Scene * /*scene*/)
int LightManager::add_ies_from_file(ustring filename)
{
string content;
- /* If the file can't be opened, call with an empty string */
- path_read_text(filename.c_str(), content);
+ /* If the file can't be opened, call with an empty line */
+ if(filename.empty() || !path_read_text(filename.c_str(), content)) {
+ content == "\n";
+ }
return add_ies(ustring(content));
}
diff --git a/intern/cycles/util/util_ies.cpp b/intern/cycles/util/util_ies.cpp
index 4824c886609..e068957325b 100644
--- a/intern/cycles/util/util_ies.cpp
+++ b/intern/cycles/util/util_ies.cpp
@@ -109,6 +109,10 @@ public:
bool IESFile::parse(ustring ies)
{
+ if(ies.empty()) {
+ return false;
+ }
+
IESTextParser parser(ies);
if(parser.eof()) {
return false;