Commit: 0a277f7428be13ce892422b8d690931f35e81bd3
Author: Martijn Berger
Date: Sat May 7 10:50:21 2016 +0200
Branches: master
https://developer.blender.org/rB0a277f7428be13ce892422b8d690931f35e81bd3
Fix cycles-xml with OSL support after changes inroduced in
1422f0dd1697d7b671a7b447fd58db7dfe775821
===================================================================
M intern/cycles/app/cycles_xml.cpp
===================================================================
diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp
index c845f28..262e8c0 100644
--- a/intern/cycles/app/cycles_xml.cpp
+++ b/intern/cycles/app/cycles_xml.cpp
@@ -437,7 +437,7 @@ static void xml_read_shader_graph(const XMLReadState&
state, Shader *shader, pug
/* Generate inputs/outputs from node sockets
*
* Note: ShaderInput/ShaderOutput store shallow string
copies only!
- * Socket names must be stored in the extra lists
instead. */
+ * So we register them as ustring to ensure the pointer
stays valid. */
/* read input values */
for(pugi::xml_node param = node.first_child(); param;
param = param.next_sibling()) {
if(string_iequals(param.name(), "input")) {
@@ -449,8 +449,7 @@ static void xml_read_shader_graph(const XMLReadState&
state, Shader *shader, pug
if(type == SHADER_SOCKET_UNDEFINED)
continue;
-
osl->input_names.push_back(ustring(name));
-
osl->add_input(osl->input_names.back().c_str(), type);
+ osl->add_input(ustring(name).c_str(),
type);
}
else if(string_iequals(param.name(), "output"))
{
string name;
@@ -461,8 +460,7 @@ static void xml_read_shader_graph(const XMLReadState&
state, Shader *shader, pug
if(type == SHADER_SOCKET_UNDEFINED)
continue;
-
osl->output_names.push_back(ustring(name));
-
osl->add_output(osl->output_names.back().c_str(), type);
+ osl->add_output(ustring(name).c_str(),
type);
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs