diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-02-20 11:37:41 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-02-22 10:05:03 +0100 |
| commit | 835e18d9ff79867f508fc8baac7fcc5bb4efc0cb (patch) | |
| tree | 8e6268c9bf7747f138514dceb5382fafab67ff3e /src/widgets/itemviews/qlistview.cpp | |
| parent | c58ee54a707717b142f6e90cf48302884feb0b12 (diff) | |
| download | qtbase-835e18d9ff79867f508fc8baac7fcc5bb4efc0cb.tar.gz | |
Fix wrong DPI used by QStyle::pixelMetric()
Pass on the option or the widget in order to ensure usage of the
correct DPI for High DPI scaling.
Task-number: QTBUG-82356
Change-Id: I5df903a83f88adebd143e514e2fead367d39f015
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/widgets/itemviews/qlistview.cpp')
| -rw-r--r-- | src/widgets/itemviews/qlistview.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 62fffc17df..c3720aef73 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -1728,8 +1728,11 @@ void QListViewPrivate::prepareItemsLayout() layoutBounds = QRect(QPoint(), q->maximumViewportSize()); int frameAroundContents = 0; - if (q->style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents)) - frameAroundContents = q->style()->pixelMetric(QStyle::PM_DefaultFrameWidth) * 2; + if (q->style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents)) { + QStyleOption option; + option.initFrom(q); + frameAroundContents = q->style()->pixelMetric(QStyle::PM_DefaultFrameWidth, &option) * 2; + } // maximumViewportSize() already takes scrollbar into account if policy is // Qt::ScrollBarAlwaysOn but scrollbar extent must be deduced if policy |
