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 */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to