diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index a37c3805c..e21025547 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -566,7 +566,9 @@ void NodeView::mouseReleaseEvent(QMouseEvent *event) MultiUndoCommand* command = new MultiUndoCommand(); if (create_edge_already_exists_) { - command->add_child(new NodeEdgeRemoveCommand(create_edge_->output(), create_edge_->input())); + if (!create_edge_->IsConnected()) { + command->add_child(new NodeEdgeRemoveCommand(create_edge_->output(), create_edge_->input())); + } } else { delete create_edge_; } diff --git a/app/widget/nodeview/nodeviewedge.h b/app/widget/nodeview/nodeviewedge.h index 96ab31578..cecdf6ccd 100644 --- a/app/widget/nodeview/nodeviewedge.h +++ b/app/widget/nodeview/nodeviewedge.h @@ -89,6 +89,11 @@ public: */ void SetConnected(bool c); + bool IsConnected() const + { + return connected_; + } + /** * @brief Set highlighted state *