diff --git a/src/notificationsmanager.cpp b/src/notificationsmanager.cpp index 22d9ef9e7..27e7eaa5d 100644 --- a/src/notificationsmanager.cpp +++ b/src/notificationsmanager.cpp @@ -291,7 +291,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); @@ -302,6 +306,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()); }