[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55420] trunk/blender/source/blender: Fix for an old issue: Node names need to be unique to ensure proper preview image mapping ( node instance keys are generated from node names).

Lukas Toenne lukas.toenne at googlemail.com
Tue Mar 19 15:53:46 CET 2013


Revision: 55420
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55420
Author:   lukastoenne
Date:     2013-03-19 14:53:46 +0000 (Tue, 19 Mar 2013)
Log Message:
-----------
Fix for an old issue: Node names need to be unique to ensure proper preview image mapping (node instance keys are generated from node names). This caused problems with some of the old test files (e.g. compo_map_zcombine_cubes.blend).

When the uniqueness requirement was introduced in r24478 (2.50.8) for unambiguous RNA paths for animation a do_versions check was also added, but this was incorrectly only applied to main->nodetree (i.e. node groups) and not local trees in scene, material, etc.

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

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

Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h	2013-03-19 14:38:03 UTC (rev 55419)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h	2013-03-19 14:53:46 UTC (rev 55420)
@@ -42,7 +42,7 @@
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         266
-#define BLENDER_SUBVERSION      2
+#define BLENDER_SUBVERSION      3
 
 /* 262 was the last editmesh release but it has compatibility code for bmesh data */
 #define BLENDER_MINVERSION      262

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-03-19 14:38:03 UTC (rev 55419)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-03-19 14:53:46 UTC (rev 55420)
@@ -9027,6 +9027,26 @@
 		}
 	}
 
+	if (!MAIN_VERSION_ATLEAST(main, 266, 3)) {
+		{
+			/* Fix for a very old issue:
+			 * Node names were nominally made unique in r24478 (2.50.8), but the do_versions check
+			 * to update existing node names only applied to main->nodetree (i.e. group nodes).
+			 * Uniqueness is now required for proper preview mapping,
+			 * so do this now to ensure old files don't break.
+			 */
+			bNode *node;
+			FOREACH_NODETREE(main, ntree, id) {
+				if (id == &ntree->id)
+					continue;	/* already fixed for node groups */
+				
+				for (node = ntree->nodes.first; node; node = node->next)
+					nodeUniqueName(ntree, node);
+			}
+			FOREACH_NODETREE_END
+		}
+	}
+
 	if (main->versionfile < 267) {
 		
 		/* TIP: to initialize new variables added, use the new function




More information about the Bf-blender-cvs mailing list