[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44574] trunk/blender/source/blender/ blenkernel/intern/node.c: Call the node freestorage callback _before_ actually freeing sockets, since this is also responsible for freeing possible socket storage data.

Lukas Toenne lukas.toenne at googlemail.com
Thu Mar 1 13:08:13 CET 2012


Revision: 44574
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44574
Author:   lukastoenne
Date:     2012-03-01 12:07:59 +0000 (Thu, 01 Mar 2012)
Log Message:
-----------
Call the node freestorage callback _before_ actually freeing sockets, since this is also responsible for freeing possible socket storage data.

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	2012-03-01 11:41:15 UTC (rev 44573)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2012-03-01 12:07:59 UTC (rev 44574)
@@ -903,12 +903,15 @@
 	node_unlink_attached(ntree, node);
 	
 	BLI_remlink(&ntree->nodes, node);
-
+	
 	/* since it is called while free database, node->id is undefined */
 	
 	if (treetype->free_node_cache)
 		treetype->free_node_cache(ntree, node);
 	
+	if(node->typeinfo && node->typeinfo->freestoragefunc)
+		node->typeinfo->freestoragefunc(node);
+	
 	for (sock=node->inputs.first; sock; sock = nextsock) {
 		nextsock = sock->next;
 		node_socket_free_default_value(sock->type, sock->default_value);
@@ -922,10 +925,6 @@
 
 	nodeFreePreview(node);
 
-	if(node->typeinfo && node->typeinfo->freestoragefunc) {
-		node->typeinfo->freestoragefunc(node);
-	}
-
 	MEM_freeN(node);
 	
 	ntree->update |= NTREE_UPDATE_NODES;




More information about the Bf-blender-cvs mailing list