summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qformlayout.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2009-07-31 16:16:01 +0200
committerOlivier Goffart <ogoffart@trolltech.com>2009-07-31 16:54:01 +0200
commitc57ed134a536c177d1774d9272ca187bdfb28e6b (patch)
tree9b93dcca114411550913184feb1c1ae3b3dfddbb /src/gui/kernel/qformlayout.cpp
parentc6cdfcb02d74f726e79ead9f890f294587a7c63c (diff)
Revert "Fix QFormLayout which allowed fields to be smaller that their minimum size"
This reverts commit 244f5ee9c2c34ddee200e4d5cdc1345762a5901b. Valgrind complains about the label fields that are not inisialized yet, and indeed. They are initialized right after, and need the maxLabelWidth to be computed. This is a chicken and egg problem difficult to solve, so I rather revert the change as the bug is not critical
Diffstat (limited to 'src/gui/kernel/qformlayout.cpp')
-rw-r--r--src/gui/kernel/qformlayout.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/gui/kernel/qformlayout.cpp b/src/gui/kernel/qformlayout.cpp
index 0b7656f2e2..de33f93e29 100644
--- a/src/gui/kernel/qformlayout.cpp
+++ b/src/gui/kernel/qformlayout.cpp
@@ -689,16 +689,12 @@ void QFormLayoutPrivate::setupVerticalLayoutData(int width)
// are split.
maxLabelWidth = 0;
if (!wrapAllRows) {
- int maxFieldMinWidth = 0; //the maximum minimum size of the field
for (int i = 0; i < rr; ++i) {
const QFormLayoutItem *label = m_matrix(i, 0);
const QFormLayoutItem *field = m_matrix(i, 1);
- if (label && field && label->sideBySide)
+ if (label && (label->sizeHint.width() + (field ? field->minSize.width() : 0) <= width))
maxLabelWidth = qMax(maxLabelWidth, label->sizeHint.width());
- if (field)
- maxFieldMinWidth = qMax(maxFieldMinWidth, field->minSize.width() + field->sbsHSpace);
}
- maxLabelWidth = qMin(maxLabelWidth, width - maxFieldMinWidth);
} else {
maxLabelWidth = width;
}