summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qformlayout.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-02-14 11:33:02 +0100
committerLiang Qi <liang.qi@qt.io>2017-02-14 11:33:02 +0100
commit27432d40f2500b11780398f6c7d67719050dae6c (patch)
tree97f9a60af2d520d66fa7ff802ccddad56e0cadaf /src/widgets/kernel/qformlayout.cpp
parent071a120400b17eaa0b414a0ed262b0a090908679 (diff)
parent10ecbc4041cb7db004f4ed4d40ce082553d75844 (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Diffstat (limited to 'src/widgets/kernel/qformlayout.cpp')
-rw-r--r--src/widgets/kernel/qformlayout.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/widgets/kernel/qformlayout.cpp b/src/widgets/kernel/qformlayout.cpp
index a06d01be67..c66a6d5673 100644
--- a/src/widgets/kernel/qformlayout.cpp
+++ b/src/widgets/kernel/qformlayout.cpp
@@ -1551,24 +1551,19 @@ QFormLayout::TakeRowResult QFormLayout::takeRow(int row)
{
Q_D(QFormLayout);
- const int storageIndex = storageIndexFromLayoutItem(d->m_matrix, d->m_things.value(row));
- if (Q_UNLIKELY(storageIndex == -1)) {
+ if (Q_UNLIKELY(!(uint(row) < uint(d->m_matrix.rowCount())))) {
qWarning("QFormLayout::takeRow: Invalid row %d", row);
return TakeRowResult();
}
- int storageRow, dummy;
- QFormLayoutPrivate::ItemMatrix::storageIndexToPosition(storageIndex, &storageRow, &dummy);
- Q_ASSERT(d->m_matrix(storageRow, dummy));
-
- QFormLayoutItem *label = d->m_matrix(storageRow, 0);
- QFormLayoutItem *field = d->m_matrix(storageRow, 1);
+ QFormLayoutItem *label = d->m_matrix(row, 0);
+ QFormLayoutItem *field = d->m_matrix(row, 1);
Q_ASSERT(field);
d->m_things.removeOne(label);
d->m_things.removeOne(field);
- d->m_matrix.removeRow(storageRow);
+ d->m_matrix.removeRow(row);
invalidate();