diff options
author | Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> | 2009-06-29 18:07:17 (GMT) |
---|---|---|
committer | Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> | 2009-07-31 21:26:25 (GMT) |
commit | 9e701f76f7478ea078e58076c91fee0d2ec505b4 (patch) | |
tree | 51a86dc813c2b7a49611840a67730a28b64f4730 /src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | |
parent | a52114c8ca9020773081c20a1094c078cfdb81fe (diff) | |
download | Qt-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.cpp | 15 |
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; } |