Fix Item::calculateSqueezes() squeezing too much

Fixes tst_28NestedWidgets:28 with Qt 5.9
This commit is contained in:
Sergio Martins
2020-05-17 16:28:09 +01:00
parent 6fe998d9df
commit 5b1b029b80

View File

@@ -2475,7 +2475,7 @@ QVector<int> ItemContainer::calculateSqueezes(SizingInfo::List::ConstIterator be
const int available = availabilities.at(i);
if (available == 0)
continue;
const int took = qMin(toTake, available);
const int took = qMin(missing, qMin(toTake, available));
availabilities[i] -= took;
missing -= took;
squeezes[i] += took;
@@ -2499,6 +2499,12 @@ QVector<int> ItemContainer::calculateSqueezes(SizingInfo::List::ConstIterator be
}
}
if (missing < 0) {
// Doesn't really happen
qWarning() << Q_FUNC_INFO << "Missing is negative" << missing
<< squeezes;
}
return squeezes;
}