[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39965] trunk/blender/source/blender/ blenloader/intern/readfile.c: Backward compatibility fix for SOCK_DYNAMICS flag on group sockets.

Lukas Toenne lukas.toenne at googlemail.com
Tue Sep 6 13:38:44 CEST 2011


Revision: 39965
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39965
Author:   lukastoenne
Date:     2011-09-06 11:38:44 +0000 (Tue, 06 Sep 2011)
Log Message:
-----------
Backward compatibility fix for SOCK_DYNAMICS flag on group sockets.

This is currently only needed for displaying the up/down buttons of group sockets. All regular group sockets should have this flag to indicate they are added by the user. More complex "group-type" trees may use non-dynamic sockets in the future for sockets that are not supposed to be manipulated.

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	2011-09-06 11:17:29 UTC (rev 39964)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2011-09-06 11:38:44 UTC (rev 39965)
@@ -7015,6 +7015,15 @@
 		do_versions_socket_default_value(sock);
 }
 
+static void do_versions_nodetree_dynamic_sockets(bNodeTree *ntree)
+{
+	bNodeSocket *sock;
+	for (sock=ntree->inputs.first; sock; sock=sock->next)
+		sock->flag |= SOCK_DYNAMIC;
+	for (sock=ntree->outputs.first; sock; sock=sock->next)
+		sock->flag |= SOCK_DYNAMIC;
+}
+
 static void do_versions(FileData *fd, Library *lib, Main *main)
 {
 	/* WATCH IT!!!: pointers from libdata have not been converted */
@@ -11972,6 +11981,16 @@
 				tex->nodetree->update |= NTREE_UPDATE;
 			}
 		}
+
+		/* add SOCK_DYNAMIC flag to existing group sockets */
+		{
+			bNodeTree *ntree;
+			/* only need to do this for trees in main, local trees are not used as groups */
+			for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) {
+				do_versions_nodetree_dynamic_sockets(ntree);
+				ntree->update |= NTREE_UPDATE;
+			}
+		}
 	}
 
 	/* put compatibility code here until next subversion bump */




More information about the Bf-blender-cvs mailing list