[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54279] trunk/blender/source/blender/ blenloader/intern/readfile.c: Fix for [#34089] Crash opening file containing translation node saved before rev54235

Jeroen Bakker j.bakker at atmind.nl
Sun Feb 3 16:38:07 CET 2013


Revision: 54279
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54279
Author:   jbakker
Date:     2013-02-03 15:38:06 +0000 (Sun, 03 Feb 2013)
Log Message:
-----------
Fix for [#34089] Crash opening file containing translation node saved before rev54235

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54235

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-02-03 15:06:16 UTC (rev 54278)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-02-03 15:38:06 UTC (rev 54279)
@@ -7342,6 +7342,17 @@
 	}
 }
 
+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 @@
 		}
 	}
 
+    // 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! */




More information about the Bf-blender-cvs mailing list