Fix T37939: Crash on exit (reading from freed node trees)

This commit is contained in:
Campbell Barton 2013-12-26 08:57:44 +11:00
parent ca36091266
commit d9e0a94675
2 changed files with 6 additions and 3 deletions

@ -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)
}
}
/* 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);