From 485a9213a5444a614866a81287d3ab362b61700d Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Sun, 16 Jun 2024 18:32:22 +0200 Subject: [PATCH] QIcon: fix call to QIconEngine::scaledPixmap() QIconEngine::scaledPixmap() takes the size in device independent pixels and therefore it must not be multiplied by dpr here (dpr is given as a separate argument) This amends 245bdc8ec31755d6ab38b796014bdcab6a1d17ae. Fixes: QTBUG-126388 Change-Id: Ib6cb5d07dd40f39749eb27bf8ed170480d10d28a Reviewed-by: Volker Hilsheimer (cherry picked from commit 6887986bc509374995e5d838fe2a414cc23ee257) Reviewed-by: Qt Cherry-pick Bot --- src/gui/image/qicon.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index 65c016c27f1..bccb543a77c 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -176,8 +176,7 @@ void QPixmapIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode { auto paintDevice = painter->device(); qreal dpr = paintDevice ? paintDevice->devicePixelRatio() : qApp->devicePixelRatio(); - const QSize pixmapSize = rect.size() * dpr; - QPixmap px = scaledPixmap(pixmapSize, mode, state, dpr); + QPixmap px = scaledPixmap(rect.size(), mode, state, dpr); painter->drawPixmap(rect, px); }