summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
diff options
context:
space:
mode:
authorJesus Sanchez-Palencia <jesus.palencia@openbossa.org>2009-06-29 18:07:17 (GMT)
committerJesus Sanchez-Palencia <jesus.palencia@openbossa.org>2009-07-31 21:26:25 (GMT)
commit9e701f76f7478ea078e58076c91fee0d2ec505b4 (patch)
tree51a86dc813c2b7a49611840a67730a28b64f4730 /src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
parenta52114c8ca9020773081c20a1094c078cfdb81fe (diff)
downloadQt-9e701f76f7478ea078e58076c91fee0d2ec505b4.zip
Qt-9e701f76f7478ea078e58076c91fee0d2ec505b4.tar.gz
Qt-9e701f76f7478ea078e58076c91fee0d2ec505b4.tar.bz2
QGraphicsAnchorLayoutPrivate: Avoiding extra loops in getGraphParts
Signed-off-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Diffstat (limited to 'src/gui/graphicsview/qgraphicsanchorlayout_p.cpp')
-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;
}