diff options
author | Ton Roosendaal <ton@blender.org> | 2006-08-15 12:56:48 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-08-15 12:56:48 +0400 |
commit | 72c8d7c313119243216d8d7b0a7fd5814b453470 (patch) | |
tree | 983444e4f401bdfb7fb66cfcc9a4f52822e68534 /source/blender/src/editnode.c | |
parent | 733c9445c6225dc12bb53be3b0ce5a673911defe (diff) |
Bugfix #4806
Reports came in that Elephants Dream files crash on quit or loading other
files. Was caused by freeing Material Nodes, which was accessing memory
that potentially was just freed before (node->id). Apparently only Windows
really gives issues then, which is actually a good thing :)
Diffstat (limited to 'source/blender/src/editnode.c')
-rw-r--r-- | source/blender/src/editnode.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/src/editnode.c b/source/blender/src/editnode.c index 55b93c47cda..f8d4d7fff23 100644 --- a/source/blender/src/editnode.c +++ b/source/blender/src/editnode.c @@ -1635,8 +1635,12 @@ void node_delete(SpaceNode *snode) for(node= snode->edittree->nodes.first; node; node= next) { next= node->next; - if(node->flag & SELECT) + if(node->flag & SELECT) { + /* check id user here, nodeFreeNode is called for free dbase too */ + if(node->id) + node->id->us--; nodeFreeNode(snode->edittree, node); + } } snode_verify_groups(snode); |