summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
index 9413ec3..26207e1 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
+++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
@@ -1327,12 +1327,14 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation)
}
QList<QSimplexConstraint *> trunkConstraints;
+ QList<QSimplexConstraint *> nonTrunkConstraints;
QSet<QSimplexVariable *> trunkVariables;
trunkVariables += edgeL1;
trunkVariables += edgeL2;
bool dirty;
+ bool hasNonTrunkConstraints = false;
do {
dirty = false;
@@ -1358,7 +1360,9 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation)
it = remainingConstraints.erase(it);
dirty = true;
} else {
- ++it;
+ nonTrunkConstraints += c;
+ it = remainingConstraints.erase(it);
+ hasNonTrunkConstraints = true;
}
}
} while (dirty);
@@ -1366,15 +1370,8 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation)
QList< QList<QSimplexConstraint *> > result;
result += trunkConstraints;
- if (!remainingConstraints.isEmpty()) {
- QList<QSimplexConstraint *> nonTrunkConstraints;
- QLinkedList<QSimplexConstraint *>::iterator it = remainingConstraints.begin();
- while (it != remainingConstraints.end()) {
- nonTrunkConstraints += *it;
- ++it;
- }
+ if (hasNonTrunkConstraints)
result += nonTrunkConstraints;
- }
return result;
}