diff --git a/src/providers/seventv/paints/Paint.cpp b/src/providers/seventv/paints/Paint.cpp index 17d9ac0d659..8b3598dc881 100644 --- a/src/providers/seventv/paints/Paint.cpp +++ b/src/providers/seventv/paints/Paint.cpp @@ -47,14 +47,19 @@ QPixmap Paint::getPixmap(const QString text, const QFont font, if (!shadow.isValid()) continue; - auto scaledShadow = shadow.scaled(scale); - // HACK: create a QLabel from the pixmap to apply drop shadows QLabel *label = new QLabel(); + + auto scaledShadow = shadow.scaled(scale / label->devicePixelRatioF()); + + // NOTE: avoid scaling issues on high DPI displays + pixmap.setDevicePixelRatio(label->devicePixelRatioF()); + label->setPixmap(pixmap); label->setGraphicsEffect(scaledShadow.getGraphicsEffect()); pixmap = label->grab(); + pixmap.setDevicePixelRatio(1); } if (drawColon)