summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qwindowsstyle.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-03-01 15:40:52 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-04-05 07:27:37 +0000
commit34a984c80739d034b6c0c9e0f29c73b03ddc5aa1 (patch)
treee52bf8be9a50124293e32040a8c079e2ffb07225 /src/widgets/styles/qwindowsstyle.cpp
parent670a9c00ef5ee4bbcbaaefa9482e39359180ac4f (diff)
Windows XP style: Change theme logic to use qreal.
Avoid rounding errors, thus preventing sizes becoming too small when High DPI scaling is in effect. Also fix division by zero crashes should a scale factor be below 1. Task-number: QTBUG-49374 Task-number: QTBUG-51552 Change-Id: I72718521bc3c7f6b0e42392ea2d2d3bbc61e2faa Reviewed-by: Marko Kangas <marko.kangas@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Diffstat (limited to 'src/widgets/styles/qwindowsstyle.cpp')
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp
index 5d02bc17ae..ab3c8df256 100644
--- a/src/widgets/styles/qwindowsstyle.cpp
+++ b/src/widgets/styles/qwindowsstyle.cpp
@@ -111,8 +111,6 @@ enum QSliderDirection { SlUp, SlDown, SlLeft, SlRight };
\internal
*/
-int QWindowsStylePrivate::m_appDevicePixelRatio = 0;
-
QWindowsStylePrivate::QWindowsStylePrivate()
: alt_down(false), menuBarTimer(0)
{
@@ -125,11 +123,9 @@ QWindowsStylePrivate::QWindowsStylePrivate()
#endif
}
-int QWindowsStylePrivate::appDevicePixelRatio()
+qreal QWindowsStylePrivate::appDevicePixelRatio()
{
- if (!QWindowsStylePrivate::m_appDevicePixelRatio)
- QWindowsStylePrivate::m_appDevicePixelRatio = qRound(qApp->devicePixelRatio());
- return QWindowsStylePrivate::m_appDevicePixelRatio;
+ return qApp->devicePixelRatio();
}
// Returns \c true if the toplevel parent of \a widget has seen the Alt-key
@@ -406,7 +402,7 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW
{
int ret = QWindowsStylePrivate::pixelMetricFromSystemDp(pm, opt, widget);
if (ret != QWindowsStylePrivate::InvalidMetric)
- return ret / QWindowsStylePrivate::devicePixelRatio(widget);
+ return qRound(qreal(ret) / QWindowsStylePrivate::devicePixelRatio(widget));
ret = QWindowsStylePrivate::fixedPixelMetric(pm);
if (ret != QWindowsStylePrivate::InvalidMetric)