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.
This commit is contained in:
2014-07-15 10:55:49 +02:00
parent fa8ff63b48
commit 2bdb872cfb
10 changed files with 45 additions and 18 deletions

View File

@@ -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);
}