diff --git a/src/notificationsmanager.cpp b/src/notificationsmanager.cpp index 535f0a364..c05a35422 100644 --- a/src/notificationsmanager.cpp +++ b/src/notificationsmanager.cpp @@ -293,7 +293,11 @@ QPixmap NotificationsManager::createNotificationImage(const QImage &icon, NeoCha roundedImage.fill(Qt::transparent); QPainter painter(&roundedImage); - painter.setRenderHint(QPainter::Antialiasing); + painter.setRenderHint(QPainter::SmoothPixmapTransform); + + // Fill background for transparent avatars + painter.setBrush(Qt::white); + painter.drawRoundedRect(imageRect, imageRect.width(), imageRect.height()); QBrush brush(icon.scaledToHeight(biggestDimension)); painter.setBrush(brush); @@ -304,6 +308,9 @@ QPixmap NotificationsManager::createNotificationImage(const QImage &icon, NeoCha if (icon != roomAvatar) { const QRect lowerQuarter{imageRect.center(), imageRect.size() / 2}; + painter.setBrush(Qt::white); + painter.drawRoundedRect(lowerQuarter, lowerQuarter.width(), lowerQuarter.height()); + painter.setBrush(roomAvatar.scaled(lowerQuarter.size())); painter.drawRoundedRect(lowerQuarter, lowerQuarter.width(), lowerQuarter.height()); }