diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-07-08 14:48:41 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-07-08 14:51:35 +0400 |
commit | a5902fb276933278bd8db86a9b1938fe649662d8 (patch) | |
tree | 95d9d8999427ec2b52d59975c5ac8e171c628d8b /source/blender/compositor/intern/COM_NodeGraph.cpp | |
parent | bd7fbd43273b63655886b60b7bba7c36e6a9755a (diff) |
Fix T40986: crash on using the viewer node inside of group nodes.
Viewers were activated both inside the active group as well as the top
level tree (the latter being a quick fix for getting a fallback viewer).
This caused a race condition on the shared viewer image.
Now the active viewer is defined at node conversion time in the converter
so that only one can be active at a time without each node having to
follow complicated rules for exclusion.
Diffstat (limited to 'source/blender/compositor/intern/COM_NodeGraph.cpp')
-rw-r--r-- | source/blender/compositor/intern/COM_NodeGraph.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/compositor/intern/COM_NodeGraph.cpp b/source/blender/compositor/intern/COM_NodeGraph.cpp index 21b88797233..cbe47238249 100644 --- a/source/blender/compositor/intern/COM_NodeGraph.cpp +++ b/source/blender/compositor/intern/COM_NodeGraph.cpp @@ -101,8 +101,7 @@ void NodeGraph::add_bNodeTree(const CompositorContext &context, int nodes_start, const bNodeTree *basetree = context.getbNodeTree(); /* update viewers in the active edittree as well the base tree (for backdrop) */ - bool is_active_group = ((parent_key.value == basetree->active_viewer_key.value) || - (tree == basetree)); + bool is_active_group = (parent_key.value == basetree->active_viewer_key.value); /* add all nodes of the tree to the node list */ for (bNode *node = (bNode *)tree->nodes.first; node; node = node->next) { |