From 85cdc8ebc1a85c6206443a1ba5511f1e6d072e51 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 1 Sep 2020 14:55:51 +0200 Subject: [PATCH] Vista style: Fix pixelized elements after focus/activation Use a float device pixel ratio in the style animations and default to the application's device pixel ratio. Pick-to: 5.15 Task-number: QTBUG-86344 Change-Id: I093bfefc0f544eb488da0993a183f92c9c77a286 Reviewed-by: Oliver Wolff --- src/plugins/styles/windowsvista/qwindowsvistastyle.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp index 016fd3a6cc..86db78429c 100644 --- a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp +++ b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp @@ -104,7 +104,8 @@ bool canAnimate(const QStyleOption *option) { static inline QImage createAnimationBuffer(const QStyleOption *option, const QWidget *widget) { - const int devicePixelRatio = widget ? widget->devicePixelRatio() : 1; + const qreal devicePixelRatio = widget + ? widget->devicePixelRatioF() : qApp->devicePixelRatio(); QImage result(option->rect.size() * devicePixelRatio, QImage::Format_ARGB32_Premultiplied); result.setDevicePixelRatio(devicePixelRatio); result.fill(0);