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:
authorCampbell Barton <ideasman42@gmail.com>2012-09-04 23:42:09 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-09-04 23:42:09 +0400
commit1d4316f35fcf2f4b9ed73b648422f4e36a071881 (patch)
treebf97cc2aac690567cd5fe79a0c511ed47e81a9f6 /source/blender/compositor/intern/COM_Node.cpp
parent306e2b48786bc27d818c1ee04382cf654310c3a0 (diff)
fix [#32490] Compsitor crashes on missing OpenEXR multilayer files
Diffstat (limited to 'source/blender/compositor/intern/COM_Node.cpp')
-rw-r--r--source/blender/compositor/intern/COM_Node.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/compositor/intern/COM_Node.cpp b/source/blender/compositor/intern/COM_Node.cpp
index 320baacb669..50393d14f35 100644
--- a/source/blender/compositor/intern/COM_Node.cpp
+++ b/source/blender/compositor/intern/COM_Node.cpp
@@ -137,6 +137,21 @@ void Node::addSetVectorOperation(ExecutionSystem *graph, InputSocket *inputsocke
graph->addOperation(operation);
}
+/* when a node has no valid data (missing image or group pointer) */
+void Node::convertToOperations_invalid(ExecutionSystem *graph, CompositorContext *context)
+{
+ /* this is a really bad situation - bring on the pink! - so artists know this is bad */
+ const float warning_color[4] = {1.0f, 0.0f, 1.0f, 1.0f};
+ int index;
+ vector<OutputSocket *> &outputsockets = this->getOutputSockets();
+ for (index = 0; index < outputsockets.size(); index++) {
+ SetColorOperation *operation = new SetColorOperation();
+ this->getOutputSocket(index)->relinkConnections(operation->getOutputSocket());
+ operation->setChannels(warning_color);
+ graph->addOperation(operation);
+ }
+}
+
bNodeSocket *Node::getEditorInputSocket(int editorNodeInputSocketIndex)
{
bNodeSocket *bSock = (bNodeSocket *)this->getbNode()->inputs.first;