diff --git a/app/node/value.cpp b/app/node/value.cpp index fd7215384..48a864473 100644 --- a/app/node/value.cpp +++ b/app/node/value.cpp @@ -68,7 +68,8 @@ QString NodeValue::ValueToString(Type data_type, const QVariant &value, bool val } else if (data_type == kRational) { return value.value().toString(); } else if (data_type == kTexture - || data_type == kSamples) { + || data_type == kSamples + || data_type == kNone) { // These data types need no XML representation return QString(); } else if (data_type == kInt) { diff --git a/app/widget/curvewidget/curvewidget.cpp b/app/widget/curvewidget/curvewidget.cpp index ed26d0ffd..2e9c0fe53 100644 --- a/app/widget/curvewidget/curvewidget.cpp +++ b/app/widget/curvewidget/curvewidget.cpp @@ -220,7 +220,9 @@ void CurveWidget::UpdateBridgeTime(const int64_t ×tamp) void CurveWidget::ConnectNode(Node *node, bool connect) { foreach (const QString& input, node->inputs()) { - ConnectInput(node, input, connect); + if (node->IsInputKeyframable(input)) { + ConnectInput(node, input, connect); + } } // Connect add/remove signals diff --git a/app/widget/nodetableview/nodetableview.cpp b/app/widget/nodetableview/nodetableview.cpp index d67f23f8c..be3d423aa 100644 --- a/app/widget/nodetableview/nodetableview.cpp +++ b/app/widget/nodetableview/nodetableview.cpp @@ -140,6 +140,14 @@ void NodeTableView::SetTime(const rational &time) sub_item->setText(1, source_name); switch (value.type()) { + case NodeValue::kVideoParams: + case NodeValue::kAudioParams: + case NodeValue::kFootageJob: + case NodeValue::kShaderJob: + case NodeValue::kSampleJob: + case NodeValue::kGenerateJob: + // These types have no string representation + break; case NodeValue::kTexture: { // NodeTableTraverser puts video params in here