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 Tönne <lukas.toenne@gmail.com>2014-07-15 12:55:49 +0400
committerLukas Tönne <lukas.toenne@gmail.com>2014-07-15 13:03:07 +0400
commit2bdb872cfb90feae214088954d243820e4992c3b (patch)
tree769a63c61ca7485531793ed6a101824d3c5fb26f /source/blender/compositor/intern/COM_NodeOperationBuilder.cpp
parentfa8ff63b48d2064701e1cc9929549c79c5dd73c3 (diff)
Fix T41067: Muted nodes still do data type conversions.
Proxy operations from muted nodes would still create conversion operations where the datatypes don't match, which creates unexpected behavior. Arguably datatype conversion could still happen even when the main operation is muted, but this would be a design change and so is disabled now.
Diffstat (limited to 'source/blender/compositor/intern/COM_NodeOperationBuilder.cpp')
-rw-r--r--source/blender/compositor/intern/COM_NodeOperationBuilder.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp b/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp
index 6554926991c..0c8c3ed53a7 100644
--- a/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp
+++ b/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp
@@ -269,6 +269,13 @@ void NodeOperationBuilder::add_datatype_conversions()
Links convert_links;
for (Links::const_iterator it = m_links.begin(); it != m_links.end(); ++it) {
const Link &link = *it;
+
+ /* proxy operations can skip data type conversion */
+ NodeOperation *from_op = &link.from()->getOperation();
+ NodeOperation *to_op = &link.to()->getOperation();
+ if (!from_op->useDatatypeConversion() || !to_op->useDatatypeConversion())
+ continue;
+
if (link.from()->getDataType() != link.to()->getDataType())
convert_links.push_back(link);
}