[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56791] trunk/blender/source/blender/ compositor/nodes/COM_ViewerNode.cpp: Fix for #35349, multiple viewers nodes crashing during render.

Lukas Toenne lukas.toenne at googlemail.com
Tue May 14 12:42:31 CEST 2013


Revision: 56791
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56791
Author:   lukastoenne
Date:     2013-05-14 10:42:30 +0000 (Tue, 14 May 2013)
Log Message:
-----------
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)

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/nodes/COM_ViewerNode.cpp

Modified: trunk/blender/source/blender/compositor/nodes/COM_ViewerNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_ViewerNode.cpp	2013-05-14 10:20:58 UTC (rev 56790)
+++ trunk/blender/source/blender/compositor/nodes/COM_ViewerNode.cpp	2013-05-14 10:42:30 UTC (rev 56791)
@@ -34,9 +34,8 @@
 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);




More information about the Bf-blender-cvs mailing list