fix [#32743] Freed memory access when freeing materials.
This commit is contained in:
@@ -1030,9 +1030,18 @@ void ntreeFreeTree_ex(bNodeTree *ntree, const short do_id_user)
|
||||
next = node->next;
|
||||
|
||||
/* ntreeUserIncrefID inline */
|
||||
|
||||
/* XXX, this is correct, however when freeing the entire database
|
||||
* this ends up accessing freed data which isn't properly unlinking
|
||||
* its self from scene nodes, SO - for now prefer invalid usercounts
|
||||
* on free rather then bad memory access - Campbell */
|
||||
#if 0
|
||||
if (do_id_user) {
|
||||
id_us_min(node->id);
|
||||
}
|
||||
#else
|
||||
(void)do_id_user;
|
||||
#endif
|
||||
|
||||
nodeFreeNode(ntree, node);
|
||||
}
|
||||
@@ -1047,15 +1056,7 @@ void ntreeFreeTree_ex(bNodeTree *ntree, const short do_id_user)
|
||||
/* same as ntreeFreeTree_ex but always manage users */
|
||||
void ntreeFreeTree(bNodeTree *ntree)
|
||||
{
|
||||
/* XXX, this is correct, however when freeing the entire database
|
||||
* this ends up accessing freed data which isn't properly unlinking
|
||||
* its self from scene nodes, SO - for now prefer invalid usercounts
|
||||
* on free rather then bad memory access - Campbell */
|
||||
#if 0
|
||||
ntreeFreeTree_ex(ntree, TRUE);
|
||||
#else
|
||||
ntreeFreeTree_ex(ntree, FALSE);
|
||||
#endif
|
||||
}
|
||||
|
||||
void ntreeFreeCache(bNodeTree *ntree)
|
||||
|
||||
Reference in New Issue
Block a user