summaryrefslogtreecommitdiff
path: root/src/data/edge.cpp
diff options
context:
space:
mode:
authorGard Spreemann <gspreemann@gmail.com>2019-01-25 11:37:59 +0100
committerGard Spreemann <gspreemann@gmail.com>2019-01-25 11:37:59 +0100
commit3a5e53720d7c648f98fdfb8bbb8091cb7f17d869 (patch)
tree98a2d97075861094f4c9fcea244222ce2649198c /src/data/edge.cpp
parent8c5a101a2009a9f5f1e3976f51f23e0f7da109aa (diff)
parent539bc84f39ffaff04c99b7d10aac60275588dc79 (diff)
Merge tag 'v2.1.3' into debian/sid
Diffstat (limited to 'src/data/edge.cpp')
-rw-r--r--src/data/edge.cpp10
1 files changed, 8 insertions, 2 deletions
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<Node*,Node*> *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);