Fix T38075, crash from shader node add/replace tree view template.
authorLukas Tönne <lukas.toenne@gmail.com>
Tue, 7 Jan 2014 09:54:31 +0000 (10:54 +0100)
committerLukas Tönne <lukas.toenne@gmail.com>
Tue, 7 Jan 2014 09:54:31 +0000 (10:54 +0100)
commitebf23b51448e4bc9c67d656093ecc01be882c9d3
treea0c0efdcac7fbb1506b44c7e5674f59f4cd43f5e
parent54ebaad377e70d1ee0270304fd5d0fda2103c800
Fix T38075, crash from shader node add/replace tree view template.

The sanity check for copying socket default value was using the socket
idname for type compatibility checks, which is too strict. Subtypes
would not be recognized as copyable, but since only the plain data type
is needed below this is all that needs to be checked.

That alone would not cause crash (just missing default value copy),
but the tree view template was messing with the default_value DNA
directly by freeing it in advance, which is not necessary and should
be left to blenkernel when freeing the node. Otherwise this would
leave the node invalid without a default_value if the copy function
bails out.
source/blender/editors/space_node/node_templates.c
source/blender/nodes/intern/node_socket.c