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:
authorCampbell Barton <ideasman42@gmail.com>2011-12-20 05:33:14 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-12-20 05:33:14 +0400
commitefb4eff35312afb372e2a46aa598d12a74ff4a52 (patch)
treeb039276297f2deea8bff39e606c9bf89b0dbc590 /source/blender/blenloader
parent2457d4f5abd65095ae48be937ed43d026d47124a (diff)
parent71ce197bbb09af00980f6efc4891dc2a7ffda36b (diff)
svn merge ^/trunk/blender -r42722:42742
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r--source/blender/blenloader/intern/readfile.c57
1 files changed, 56 insertions, 1 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 14decca5202..99c3ec0c134 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -7520,6 +7520,30 @@ void do_versions_image_settings_2_60(Scene *sce)
}
+/* socket use flags were only temporary before */
+static void do_versions_nodetree_socket_use_flags_2_62(bNodeTree *ntree)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeLink *link;
+
+ for (node=ntree->nodes.first; node; node=node->next) {
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ sock->flag &= ~SOCK_IN_USE;
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ sock->flag &= ~SOCK_IN_USE;
+ }
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ sock->flag &= ~SOCK_IN_USE;
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ sock->flag &= ~SOCK_IN_USE;
+
+ for (link=ntree->links.first; link; link=link->next) {
+ link->fromsock->flag |= SOCK_IN_USE;
+ link->tosock->flag |= SOCK_IN_USE;
+ }
+}
+
static void do_versions(FileData *fd, Library *lib, Main *main)
{
/* WATCH IT!!!: pointers from libdata have not been converted */
@@ -12749,7 +12773,38 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
/* put compatibility code here until next subversion bump */
{
- /* nothing! */
+ {
+ /* update use flags for node sockets (was only temporary before) */
+ Scene *sce;
+ Material *mat;
+ Tex *tex;
+ Lamp *lamp;
+ World *world;
+ bNodeTree *ntree;
+
+ for (sce=main->scene.first; sce; sce=sce->id.next)
+ if (sce->nodetree)
+ do_versions_nodetree_socket_use_flags_2_62(sce->nodetree);
+
+ for (mat=main->mat.first; mat; mat=mat->id.next)
+ if (mat->nodetree)
+ do_versions_nodetree_socket_use_flags_2_62(mat->nodetree);
+
+ for (tex=main->tex.first; tex; tex=tex->id.next)
+ if (tex->nodetree)
+ do_versions_nodetree_socket_use_flags_2_62(tex->nodetree);
+
+ for (lamp=main->lamp.first; lamp; lamp=lamp->id.next)
+ if (lamp->nodetree)
+ do_versions_nodetree_socket_use_flags_2_62(lamp->nodetree);
+
+ for (world=main->world.first; world; world=world->id.next)
+ if (world->nodetree)
+ do_versions_nodetree_socket_use_flags_2_62(world->nodetree);
+
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next)
+ do_versions_nodetree_socket_use_flags_2_62(ntree);
+ }
}
/* WATCH IT!!!: pointers from libdata have not been converted yet here! */