From 502b5971f9ee0b360704f61d4bb52f33b71be044 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 29 Apr 2021 00:21:53 +1000 Subject: [PATCH] nodeview: only remove dragged edge if arrow was dragged --- app/widget/nodeview/nodeview.cpp | 4 +++- app/widget/nodeview/nodeviewedge.h | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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 *