Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-05-14 14:42:30 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-05-14 14:42:30 +0400
commitbcf91e5c91a252917941e502f1b77c8589bbb198 (patch)
treea35dd98bd110461761a95ce6142a03c4fadde2c8 /source/blender
parent71d53203fa2aa466fa60b0faa6709db200096ea9 (diff)
Fix for #35349, multiple viewers nodes crashing during render. The condition for activating viewer nodes was completely overridden during renders. Changed this so viewer nodes are active only if both of these are true:
1) the node is tagged for recalc OR compo is in render mode 2) it is the currently active viewer (so only one viewer ever writes to the buffer)
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/compositor/nodes/COM_ViewerNode.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/compositor/nodes/COM_ViewerNode.cpp b/source/blender/compositor/nodes/COM_ViewerNode.cpp
index 70cc3a288ee..531fa4158bc 100644
--- a/source/blender/compositor/nodes/COM_ViewerNode.cpp
+++ b/source/blender/compositor/nodes/COM_ViewerNode.cpp
@@ -34,9 +34,8 @@ ViewerNode::ViewerNode(bNode *editorNode) : Node(editorNode)
void ViewerNode::convertToOperations(ExecutionSystem *graph, CompositorContext *context)
{
bNode *editorNode = this->getbNode();
- bool is_active = ((editorNode->flag & NODE_DO_OUTPUT_RECALC) &&
- (editorNode->flag & NODE_DO_OUTPUT) && this->isInActiveGroup()) ||
- context->isRendering();
+ bool is_active = (editorNode->flag & NODE_DO_OUTPUT_RECALC || context->isRendering()) &&
+ ((editorNode->flag & NODE_DO_OUTPUT) && this->isInActiveGroup());
InputSocket *imageSocket = this->getInputSocket(0);
InputSocket *alphaSocket = this->getInputSocket(1);