diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2019-01-19 18:13:51 +0100 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2019-01-19 18:13:51 +0100 |
commit | bd208d8b604dd7958152fdf4db188a0bd64146f5 (patch) | |
tree | 54e841b1dfab4a121364632067b461fd057747d5 /src/data/edge.cpp | |
parent | 15d97051f0b5105a2765fc068ae980e36195434c (diff) |
merge nodes
Diffstat (limited to 'src/data/edge.cpp')
-rw-r--r-- | src/data/edge.cpp | 10 |
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);
|