From bd208d8b604dd7958152fdf4db188a0bd64146f5 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Sat, 19 Jan 2019 18:13:51 +0100 Subject: merge nodes --- src/data/edge.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/data/edge.cpp') diff --git a/src/data/edge.cpp b/src/data/edge.cpp index 4803547..0bd49e8 100644 --- a/src/data/edge.cpp +++ b/src/data/edge.cpp @@ -57,8 +57,14 @@ Edge::Edge(Node *s, Node *t, QObject *parent) : Edge *Edge::copy(QMap *nodeTable) { Edge *e; - if (nodeTable == nullptr) e = new Edge(_source, _target); - else e = new Edge(nodeTable->value(_source), nodeTable->value(_target)); + if (nodeTable == nullptr) { + e = new Edge(_source, _target); + } else { + Node *s = nodeTable->value(_source); + Node *t = nodeTable->value(_target); + e = new Edge((s != nullptr) ? s : _source, + (t != nullptr) ? t : _target); + } e->setData(_data->copy()); e->setBasicBendMode(_basicBendMode); e->setBend(_bend); -- cgit v1.2.3