Fix T86298: crash when loading "corrupted" geometry node tree
The file was not really corrupted (as in, Blender did everything correctly while saving). I only did not consider the case when a .blend file is resaved in an older version before.
This commit is contained in:
@@ -778,6 +778,13 @@ static void lib_link_node_socket(BlendLibReader *reader, Library *lib, bNodeSock
|
||||
{
|
||||
IDP_BlendReadLib(reader, sock->prop);
|
||||
|
||||
/* This can happen for all socket types when a file is saved in an older version of Blender than
|
||||
* it was originally created in (T86298). Some socket types still require a default value. The
|
||||
* default value of those sockets will be created in `ntreeSetTypes`. */
|
||||
if (sock->default_value == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ((eNodeSocketDatatype)sock->type) {
|
||||
case SOCK_OBJECT: {
|
||||
bNodeSocketValueObject *default_value = (bNodeSocketValueObject *)sock->default_value;
|
||||
|
||||
Reference in New Issue
Block a user