Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-08-15 12:56:48 +0400
committerTon Roosendaal <ton@blender.org>2006-08-15 12:56:48 +0400
commit72c8d7c313119243216d8d7b0a7fd5814b453470 (patch)
tree983444e4f401bdfb7fb66cfcc9a4f52822e68534 /source/blender/src/editnode.c
parent733c9445c6225dc12bb53be3b0ce5a673911defe (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.c6
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);