diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2016-02-20 15:15:40 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2016-02-20 15:15:40 +0300 |
commit | 813255355379b236e91c23e758109d37f080a71d (patch) | |
tree | 7f4cd39636ce366ec70ab6853d72d48912c6b2cc /source/blender/editors/space_node/node_group.c | |
parent | 028c67c81eab341c6d98b139c3a81b91ac3e9308 (diff) |
Fix (unreported) crash when ungrouping a nodegroup with some animated node.
Was accessing already freed action in temp nodegroup animation data...
Diffstat (limited to 'source/blender/editors/space_node/node_group.c')
-rw-r--r-- | source/blender/editors/space_node/node_group.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/editors/space_node/node_group.c b/source/blender/editors/space_node/node_group.c index b57f95db4e6..5c58e9b720c 100644 --- a/source/blender/editors/space_node/node_group.c +++ b/source/blender/editors/space_node/node_group.c @@ -253,7 +253,7 @@ static int node_group_ungroup(bNodeTree *ntree, bNode *gnode) if (wgroup->adt) { LinkData *ld, *ldn = NULL; bAction *waction; - + /* firstly, wgroup needs to temporary dummy action that can be destroyed, as it shares copies */ waction = wgroup->adt->action = BKE_action_copy(wgroup->adt->action); @@ -271,6 +271,7 @@ static int node_group_ungroup(bNodeTree *ntree, bNode *gnode) /* free temp action too */ if (waction) { BKE_libblock_free(G.main, waction); + wgroup->adt->action = NULL; } } |