[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48244] trunk/blender/source/blender/ compositor/nodes/COM_KeyingNode.cpp: Skip edge matte operation creation if output socket is not connected.

Sergey Sharybin sergey.vfx at gmail.com
Sun Jun 24 19:38:21 CEST 2012


Revision: 48244
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48244
Author:   nazgul
Date:     2012-06-24 17:38:14 +0000 (Sun, 24 Jun 2012)
Log Message:
-----------
Skip edge matte operation creation if output socket is not connected.

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

Modified: trunk/blender/source/blender/compositor/nodes/COM_KeyingNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_KeyingNode.cpp	2012-06-24 16:19:19 UTC (rev 48243)
+++ trunk/blender/source/blender/compositor/nodes/COM_KeyingNode.cpp	2012-06-24 17:38:14 UTC (rev 48244)
@@ -161,7 +161,7 @@
 	OutputSocket *outputImage = this->getOutputSocket(0);
 	OutputSocket *outputMatte = this->getOutputSocket(1);
 	OutputSocket *outputEdges = this->getOutputSocket(2);
-	OutputSocket *postprocessedMatte, *postprocessedImage, *originalImage, *edgesMatte;
+	OutputSocket *postprocessedMatte = NULL, *postprocessedImage = NULL, *originalImage = NULL, *edgesMatte = NULL;
 
 	bNode *editorNode = this->getbNode();
 	NodeKeyingData *keying_data = (NodeKeyingData *) editorNode->storage;
@@ -195,9 +195,11 @@
 		                               keying_data->clip_black, keying_data->clip_white, false);
 	}
 
-	edgesMatte = setupClip(graph, postprocessedMatte,
-	                       keying_data->edge_kernel_radius, keying_data->edge_kernel_tolerance,
-	                       keying_data->clip_black, keying_data->clip_white, true);
+	if (outputEdges->isConnected()) {
+		edgesMatte = setupClip(graph, postprocessedMatte,
+		                       keying_data->edge_kernel_radius, keying_data->edge_kernel_tolerance,
+		                       keying_data->clip_black, keying_data->clip_white, true);
+	}
 
 	/* apply blur on matte if needed */
 	if (keying_data->blur_post)
@@ -225,7 +227,9 @@
 	/* connect result to output sockets */
 	outputImage->relinkConnections(postprocessedImage);
 	outputMatte->relinkConnections(postprocessedMatte);
-	outputEdges->relinkConnections(edgesMatte);
 
+	if (edgesMatte)
+		outputEdges->relinkConnections(edgesMatte);
+
 	graph->addOperation(alphaOperation);
 }




More information about the Bf-blender-cvs mailing list