Fix #29689, #29702: cycles render crash with node setups with non-cycles nodes,
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 28 Dec 2011 19:42:08 +0000 (19:42 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 28 Dec 2011 19:42:08 +0000 (19:42 +0000)
after group socket refactoring.

intern/cycles/blender/blender_shader.cpp

index 5c39a3f169d132677f97a0b3df59672510b0beac..f32d2d9a2ce1f367cec9752a7d3294570cff0f13 100644 (file)
@@ -597,10 +597,14 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr
                else
                        to_pair = sockets_map[b_to_sock.ptr.data];
 
-               ShaderOutput *output = from_pair.first->output(from_pair.second.c_str());
-               ShaderInput *input = to_pair.first->input(to_pair.second.c_str());
+               /* either node may be NULL when the node was not exported, typically
+                  because the node type is not supported */
+               if(from_pair.first && to_pair.first) {
+                       ShaderOutput *output = from_pair.first->output(from_pair.second.c_str());
+                       ShaderInput *input = to_pair.first->input(to_pair.second.c_str());
 
-               graph->connect(output, input);
+                       graph->connect(output, input);
+               }
        }
 }