forked from bartvdbraak/blender
Fix T37939: Crash on exit (reading from freed node trees)
This commit is contained in:
parent
ca36091266
commit
d9e0a94675
@ -950,7 +950,7 @@ void BKE_libblock_free_ex(ListBase *lb, void *idv, bool do_id_user)
|
||||
BKE_action_free((bAction *)id);
|
||||
break;
|
||||
case ID_NT:
|
||||
ntreeFreeTree((bNodeTree *)id);
|
||||
ntreeFreeTree_ex((bNodeTree *)id, do_id_user);
|
||||
break;
|
||||
case ID_BR:
|
||||
BKE_brush_free((Brush *)id);
|
||||
|
@ -1714,8 +1714,11 @@ void ntreeFreeTree_ex(bNodeTree *ntree, const short do_id_user)
|
||||
}
|
||||
}
|
||||
|
||||
/* XXX not nice, but needed to free localized node groups properly */
|
||||
free_localized_node_groups(ntree);
|
||||
/* when freeing main, this would check other ntree's which may have been freed, see [#37939] */
|
||||
if (do_id_user) {
|
||||
/* XXX not nice, but needed to free localized node groups properly */
|
||||
free_localized_node_groups(ntree);
|
||||
}
|
||||
|
||||
/* unregister associated RNA types */
|
||||
ntreeInterfaceTypeFree(ntree);
|
||||
|
Loading…
Reference in New Issue
Block a user