Revision: 27688
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27688
Author:   blendix
Date:     2010-03-23 16:34:07 +0100 (Tue, 23 Mar 2010)

Log Message:
-----------
workaround for compositor threading copying actions every time.
(commit 27684 by Campbell from render25 branch)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c       2010-03-23 
15:31:12 UTC (rev 27687)
+++ trunk/blender/source/blender/blenkernel/intern/node.c       2010-03-23 
15:34:07 UTC (rev 27688)
@@ -2519,10 +2519,39 @@
 /* local tree then owns all compbufs */
 bNodeTree *ntreeLocalize(bNodeTree *ntree)
 {
-       bNodeTree *ltree= ntreeCopyTree(ntree, 0);
+       bNodeTree *ltree;
        bNode *node;
        bNodeSocket *sock;
        
+       bAction *action_backup= NULL, *tmpact_backup= NULL;
+       
+       /* Workaround for copying an action on each render!
+        * set action to NULL so animdata actions dont get copied */
+       AnimData *adt= BKE_animdata_from_id(&ntree->id);
+
+       if(adt) {
+               action_backup= adt->action;
+               tmpact_backup= adt->tmpact;
+
+               adt->action= NULL;
+               adt->tmpact= NULL;
+       }
+
+       /* node copy func */
+       ltree= ntreeCopyTree(ntree, 0);
+
+       if(adt) {
+               AnimData *ladt= BKE_animdata_from_id(&ltree->id);
+
+               ladt->action = action_backup;
+               ladt->tmpact = tmpact_backup;
+
+               if(action_backup) action_backup->id.us++;
+               if(tmpact_backup) tmpact_backup->id.us++;
+               
+       }
+       /* end animdata uglyness */
+       
        /* move over the compbufs */
        /* right after ntreeCopyTree() oldsock pointers are valid */
        for(node= ntree->nodes.first; node; node= node->next) {


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

Reply via email to