summaryrefslogtreecommitdiff
path: root/dbmodel/pfeile-entwirren.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dbmodel/pfeile-entwirren.patch')
-rw-r--r--dbmodel/pfeile-entwirren.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/dbmodel/pfeile-entwirren.patch b/dbmodel/pfeile-entwirren.patch
new file mode 100644
index 00000000..977b0ad1
--- /dev/null
+++ b/dbmodel/pfeile-entwirren.patch
@@ -0,0 +1,53 @@
+diff --git a/src/boxsidehub.cpp b/src/boxsidehub.cpp
+index 4dfb460..b4cbf0d 100644
+--- a/src/boxsidehub.cpp
++++ b/src/boxsidehub.cpp
+@@ -51,10 +51,15 @@ static bool
+ itemLessThan(const ConnectorRealPair &a, const ConnectorRealPair &b)
+ {
+ int r = cmpAngle(a.second, b.second);
+- if (r == 0) {
++ if (r != 0)
++ return r < 0;
++ r = a.first->isStart() - b.first->isStart();
++ if (r != 0)
++ return r > 0;
++ if (a.first->isStart())
+ return a.first->owner() < b.first->owner();
+- }
+- return r < 0;
++ else
++ return a.first->owner() > b.first->owner();
+ }
+
+ // |
+diff --git a/src/connector.cpp b/src/connector.cpp
+index bbd7580..bf85ed0 100644
+--- a/src/connector.cpp
++++ b/src/connector.cpp
+@@ -82,6 +82,12 @@ Connector::isConnected() const
+ return m_hub;
+ }
+
++bool
++Connector::isStart()
++{
++ return this==owner()->connector(0);
++}
++
+ DiagramObject *
+ Connector::connectedObject() const
+ {
+diff --git a/src/connector.h b/src/connector.h
+index 66e2b1a..ee2ecb6 100644
+--- a/src/connector.h
++++ b/src/connector.h
+@@ -37,6 +37,8 @@ public:
+ bool isConnected() const;
+ DiagramObject *connectedObject() const;
+
++ bool isStart();
++
+ Connector *otherEnd() const;
+
+ Hub *hub() const;