summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/graphicsview/qgraphicsanchorlayout_p.cpp')
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
index c95baa3..d3d0072 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
+++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
@@ -1020,13 +1020,17 @@ void QGraphicsAnchorLayoutPrivate::solvePreferred(QList<QSimplexConstraint *> co
// A + A_shrinker - A_grower = A_pref
//
for (int i = 0; i < variables.size(); ++i) {
+ AnchorData *ad = static_cast<AnchorData *>(variables[i]);
+ if (ad->skipInPreferred)
+ continue;
+
QSimplexVariable *grower = new QSimplexVariable;
QSimplexVariable *shrinker = new QSimplexVariable;
QSimplexConstraint *c = new QSimplexConstraint;
- c->variables.insert(variables[i], 1.0);
+ c->variables.insert(ad, 1.0);
c->variables.insert(shrinker, 1.0);
c->variables.insert(grower, -1.0);
- c->constant = variables[i]->prefSize;
+ c->constant = ad->prefSize;
preferredConstraints += c;
preferredVariables += grower;
@@ -1045,7 +1049,7 @@ void QGraphicsAnchorLayoutPrivate::solvePreferred(QList<QSimplexConstraint *> co
// Calculate minimum values
qreal min = simplex.solveMin();
- // Save sizeAtMinimum results
+ // Save sizeAtPreferred results
for (int i = 0; i < variables.size(); ++i) {
AnchorData *ad = static_cast<AnchorData *>(variables[i]);
ad->sizeAtPreferred = ad->result;