diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index 79044f1cdb5..fd169745483 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -1580,12 +1580,11 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op QIcon::Mode mode = dis ? QIcon::Disabled : QIcon::Normal; if (act && !dis) mode = QIcon::Active; - QPixmap pixmap = menuitem->icon.pixmap(proxy()->pixelMetric(PM_SmallIconSize, option, widget), - mode, checked ? QIcon::On : QIcon::Off); - QRect pmr(QPoint(0, 0), pixmap.deviceIndependentSize().toSize()); + const auto size = proxy()->pixelMetric(PM_SmallIconSize, option, widget); + QRect pmr(QPoint(0, 0), QSize(size, size)); pmr.moveCenter(vCheckRect.center()); - painter->setPen(menuitem->palette.text().color()); - painter->drawPixmap(pmr.topLeft(), pixmap); + menuitem->icon.paint(painter, pmr, Qt::AlignCenter, mode, + checked ? QIcon::On : QIcon::Off); } else if (checked) { painter->save(); if (dis) diff --git a/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp b/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp index 9332edef26d..c2154a1c567 100644 --- a/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp +++ b/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp @@ -2939,13 +2939,10 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption if (act && !dis) mode = QIcon::Active; const auto size = proxy()->pixelMetric(PM_SmallIconSize, option, widget); - const auto dpr = painter->device()->devicePixelRatio(); - const auto pixmap = menuitem->icon.pixmap({size, size}, dpr, mode, - checked ? QIcon::On : QIcon::Off); - QRect pmr(QPoint(0, 0), pixmap.deviceIndependentSize().toSize()); + QRect pmr(QPoint(0, 0), QSize(size, size)); pmr.moveCenter(vCheckRect.center()); - painter->setPen(menuitem->palette.text().color()); - painter->drawPixmap(pmr.topLeft(), pixmap); + menuitem->icon.paint(painter, vCheckRect, Qt::AlignCenter, mode, + checked ? QIcon::On : QIcon::Off); } painter->setPen(menuitem->palette.buttonText().color());