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:
authorJeroen Bakker <j.bakker@atmind.nl>2013-02-03 19:38:06 +0400
committerJeroen Bakker <j.bakker@atmind.nl>2013-02-03 19:38:06 +0400
commitb58b107db409c877b523f90ff8feb5c4db7688a8 (patch)
tree78f15bac9e830bbb75fc5abc39c87be3b0984c29 /source/blender/blenloader
parentabe41ba65f2b1117b0d1bf1730db3fef21ec1e27 (diff)
Fix for [#34089] Crash opening file containing translation node saved before rev54235
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r--source/blender/blenloader/intern/readfile.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index b2c5677a5c6..91d4480220a 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -7342,6 +7342,17 @@ static void do_version_node_cleanup_dynamic_sockets_264(void *UNUSED(data), ID *
}
}
+static void do_version_node_fix_translate_wrapping(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
+{
+ bNode *node;
+
+ for (node = ntree->nodes.first; node; node = node->next) {
+ if (node->type == CMP_NODE_TRANSLATE && node->storage == NULL) {
+ node->storage = MEM_callocN(sizeof(NodeTranslateData), "node translate data");
+ }
+ }
+}
+
static void do_version_node_fix_internal_links_264(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
{
bNode *node;
@@ -8716,6 +8727,17 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
}
+ // add storage for compositor translate nodes when not existing
+ if (!MAIN_VERSION_ATLEAST(main, 265, 9)) {
+ bNodeTreeType *ntreetype;
+
+ ntreetype = ntreeGetType(NTREE_COMPOSIT);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, do_version_node_fix_translate_wrapping);
+ }
+
+
+
// if (main->versionfile < 265 || (main->versionfile == 265 && main->subversionfile < 7)) {
/* WATCH IT!!!: pointers from libdata have not been converted yet here! */