QHeaderView - preventing negative section sizes.
This patch removes the posibility to call resizeSection with negative sizes. Sections with negative sizes affect the other sections, and it does not seem to have a useful, well-defined semantic. The length can also become negative - and visualIndexAt work strange. Change-Id: I632beb160649fa10e2106314557b8c5a106aa3cf Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This commit is contained in:
parent
85c08e06c8
commit
96f1fe8855
@ -874,7 +874,7 @@ void QHeaderView::swapSections(int first, int second)
|
||||
void QHeaderView::resizeSection(int logical, int size)
|
||||
{
|
||||
Q_D(QHeaderView);
|
||||
if (logical < 0 || logical >= count())
|
||||
if (logical < 0 || logical >= count() || size < 0)
|
||||
return;
|
||||
|
||||
if (isSectionHidden(logical)) {
|
||||
|
@ -172,6 +172,7 @@ private slots:
|
||||
void removeSection();
|
||||
void preserveHiddenSectionWidth();
|
||||
void invisibleStretchLastSection();
|
||||
void noSectionsWithNegativeSize();
|
||||
|
||||
void emptySectionSpan();
|
||||
void task236450_hidden_data();
|
||||
@ -1853,6 +1854,15 @@ void tst_QHeaderView::invisibleStretchLastSection()
|
||||
QCOMPARE(view.sectionSize(count - 1), view.defaultSectionSize() * 2);
|
||||
}
|
||||
|
||||
void tst_QHeaderView::noSectionsWithNegativeSize()
|
||||
{
|
||||
QStandardItemModel m(4, 4);
|
||||
QHeaderView h(Qt::Horizontal);
|
||||
h.setModel(&m);
|
||||
h.resizeSection(1, -5);
|
||||
QVERIFY(h.sectionSize(1) >= 0); // Sections with negative sizes not well defined.
|
||||
}
|
||||
|
||||
void tst_QHeaderView::emptySectionSpan()
|
||||
{
|
||||
QHeaderViewPrivate::SectionSpan span;
|
||||
|
Loading…
Reference in New Issue
Block a user