From 105655b3d9da7cbf2a59e0d9a018d7f8902b1be7 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Wed, 5 May 2021 11:41:56 +1000 Subject: [PATCH] nodeview: don't use other input's type for reconnecting nodes, just use traverser heuristic Fixes #1607 --- app/widget/nodeview/nodeview.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index e21025547..d15d4a9e0 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -506,16 +506,13 @@ void NodeView::mouseMoveEvent(QMouseEvent *event) if (new_drop_edge) { drop_input_.Reset(); - NodeValue::Type drop_edge_data_type = new_drop_edge->input().GetDataType(); + NodeValue::Type drop_edge_data_type = NodeValue::kNone; - // If no data type could be determined from this input, run the Node and guess what type - // it's actually returning - if (drop_edge_data_type == NodeValue::kNone) { - NodeTraverser traverser; - NodeValueTable table = traverser.GenerateTable(new_drop_edge->output(), TimeRange(0, 0)); - if (table.Count() > 0) { - drop_edge_data_type = table.at(table.Count() - 1).type(); - } + // Run the Node and guess what type it's actually returning + NodeTraverser traverser; + NodeValueTable table = traverser.GenerateTable(new_drop_edge->output(), TimeRange(0, 0)); + if (table.Count() > 0) { + drop_edge_data_type = table.at(table.Count() - 1).type(); } // Iterate through the inputs of our dragging node and see if our node has any acceptable