[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36428] trunk/blender/source/blender/ blenkernel/intern/node.c: copying/ freeing node trees now adjusts grease pencil user count.
Campbell Barton
ideasman42 at gmail.com
Mon May 2 10:37:44 CEST 2011
Revision: 36428
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36428
Author: campbellbarton
Date: 2011-05-02 08:37:44 +0000 (Mon, 02 May 2011)
Log Message:
-----------
copying/freeing node trees now adjusts grease pencil user count.
also NULL freed texture node socket data incase its used again by accident.
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 2011-05-02 08:36:00 UTC (rev 36427)
+++ trunk/blender/source/blender/blenkernel/intern/node.c 2011-05-02 08:37:44 UTC (rev 36428)
@@ -1193,7 +1193,9 @@
newtree= MEM_dupallocN(ntree);
copy_libblock_data(&newtree->id, &ntree->id, TRUE); /* copy animdata and ID props */
}
-
+
+ id_us_plus((ID *)newtree->gpd);
+
/* in case a running nodetree is copied */
newtree->init &= ~(NTREE_EXEC_INIT);
newtree->threadstack= NULL;
@@ -1435,6 +1437,8 @@
BKE_free_animdata((ID *)ntree);
+ id_us_min((ID *)ntree->gpd);
+
BLI_freelistN(&ntree->links); /* do first, then unlink_node goes fast */
for(node= ntree->nodes.first; node; node= next) {
@@ -2324,13 +2328,18 @@
bNodeStack *ns;
int th, a;
- if(ntree->threadstack)
- for(th=0; th<BLENDER_MAX_THREADS; th++)
- for(nts=ntree->threadstack[th].first; nts; nts=nts->next)
- for(ns= nts->stack, a=0; a<ntree->stacksize; a++, ns++)
- if(ns->data)
+ if(ntree->threadstack) {
+ for(th=0; th<BLENDER_MAX_THREADS; th++) {
+ for(nts=ntree->threadstack[th].first; nts; nts=nts->next) {
+ for(ns= nts->stack, a=0; a<ntree->stacksize; a++, ns++) {
+ if(ns->data) {
MEM_freeN(ns->data);
-
+ ns->data= NULL;
+ }
+ }
+ }
+ }
+ }
}
void ntreeBeginExecTree(bNodeTree *ntree)
More information about the Bf-blender-cvs
mailing list