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
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-05-09 12:29:59 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-05-09 12:29:59 +0400
commit3fb67ac16db112b5404e0ed6ffa43deb09596381 (patch)
tree8c698222fca1049da03aec813b7c6e3c4d8f8cbe /source/blender
parent89d77c538a6ad3645a0f04d686e1050b86b97368 (diff)
Fix for do_versions bug with node groups: The special case of direct input-to-output connections was not handled correctly. In this case both the tonode and fromnode pointers in old node groups are NULL.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenloader/intern/readfile.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 5e01b03cd64..a76d7eaff6d 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2526,9 +2526,11 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
link->fromsock = node_group_input_find_socket(input_node, link->fromsock->identifier);
++num_inputs;
- if (input_locx > link->tonode->locx - offsetx)
- input_locx = link->tonode->locx - offsetx;
- input_locy += link->tonode->locy;
+ if (link->tonode) {
+ if (input_locx > link->tonode->locx - offsetx)
+ input_locx = link->tonode->locx - offsetx;
+ input_locy += link->tonode->locy;
+ }
}
else
free_link = TRUE;
@@ -2540,9 +2542,11 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
link->tosock = node_group_output_find_socket(output_node, link->tosock->identifier);
++num_outputs;
- if (output_locx < link->fromnode->locx + offsetx)
- output_locx = link->fromnode->locx + offsetx;
- output_locy += link->fromnode->locy;
+ if (link->fromnode) {
+ if (output_locx < link->fromnode->locx + offsetx)
+ output_locx = link->fromnode->locx + offsetx;
+ output_locy += link->fromnode->locy;
+ }
}
else
free_link = TRUE;