[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