summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtreeview.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-01-21 08:17:21 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-01-21 08:17:21 +0100
commit158a3a4159bdc5a49caecd63e021dacbc06cf23c (patch)
treec3ed9aee6cabd46e5e8615b3815b92d32857c4da /src/widgets/itemviews/qtreeview.cpp
parent26ece94a68fb5ae680c5639716b06c4e1ae979a8 (diff)
parent7b2fb038ae4b8b9231ae989ad309b6eca107a858 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts: src/corelib/io/qiodevice_p.h src/corelib/kernel/qvariant_p.h src/corelib/tools/qsimd.cpp src/gui/kernel/qguiapplication.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp Change-Id: I742a093cbb231b282b43e463ec67173e0d29f57a
Diffstat (limited to 'src/widgets/itemviews/qtreeview.cpp')
-rw-r--r--src/widgets/itemviews/qtreeview.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index fdd2be69eb..ccc7c34602 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -2836,10 +2836,14 @@ void QTreeView::updateGeometries()
if (d->geometryRecursionBlock)
return;
d->geometryRecursionBlock = true;
- QSize hint = d->header->isHidden() ? QSize(0, 0) : d->header->sizeHint();
- setViewportMargins(0, hint.height(), 0, 0);
+ int height = 0;
+ if (!d->header->isHidden()) {
+ height = qMax(d->header->minimumHeight(), d->header->sizeHint().height());
+ height = qMin(height, d->header->maximumHeight());
+ }
+ setViewportMargins(0, height, 0, 0);
QRect vg = d->viewport->geometry();
- QRect geometryRect(vg.left(), vg.top() - hint.height(), vg.width(), hint.height());
+ QRect geometryRect(vg.left(), vg.top() - height, vg.width(), height);
d->header->setGeometry(geometryRect);
QMetaObject::invokeMethod(d->header, "updateGeometries");
d->updateScrollBars();