summaryrefslogtreecommitdiff
path: root/src/widgets/itemviews/qlistview.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-02-20 11:37:41 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-02-22 10:05:03 +0100
commit835e18d9ff79867f508fc8baac7fcc5bb4efc0cb (patch)
tree8e6268c9bf7747f138514dceb5382fafab67ff3e /src/widgets/itemviews/qlistview.cpp
parentc58ee54a707717b142f6e90cf48302884feb0b12 (diff)
downloadqtbase-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.cpp7
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