From e910c36a3f5cdd01c1a7bebe409189fda2d128e2 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Mon, 19 Jan 2015 15:22:28 +0100 Subject: [PATCH] D-Bus tray icon: ensure that the image is square before sending MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sometimes KDE doesn't render non-square icons properly when they have been received over the D-Bus protocol. Change-Id: Icc6fa3d64a1598ea8f719192ae18d32f287d6a79 Reviewed-by: Dmitry Shachnev Reviewed-by: Jørgen Lind --- .../widgets/desktop/systray/images/heart.png | Bin 25780 -> 15548 bytes .../dbustray/qdbustraytypes.cpp | 23 +++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/examples/widgets/desktop/systray/images/heart.png b/examples/widgets/desktop/systray/images/heart.png index cee1302b7d02fcf5ef34c040b08d6eff9c39e83a..05ebb6508cf3c401fc497e7b4e035a1bad1dbd74 100644 GIT binary patch literal 15548 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 literal 25780 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 H-GBUl5R*?B diff --git a/src/platformsupport/dbustray/qdbustraytypes.cpp b/src/platformsupport/dbustray/qdbustraytypes.cpp index 5100f8ee2c..bd64c59274 100644 --- a/src/platformsupport/dbustray/qdbustraytypes.cpp +++ b/src/platformsupport/dbustray/qdbustraytypes.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include "qdbusplatformmenu_p.h" @@ -62,9 +63,10 @@ QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon) bool hasSmallIcon = false; QList toRemove; Q_FOREACH (const QSize &size, sizes) { - if (size.width() <= IconNormalSmallSize) + int maxSize = qMax(size.width(), size.height()); + if (maxSize <= IconNormalSmallSize) hasSmallIcon = true; - else if (size.width() > IconSizeLimit) + else if (maxSize > IconSizeLimit) toRemove << size; } Q_FOREACH (const QSize &size, toRemove) @@ -73,12 +75,21 @@ QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon) sizes.append(QSize(IconNormalSmallSize, IconNormalSmallSize)); foreach (QSize size, sizes) { - QXdgDBusImageStruct kim; - kim.width = size.width(); - kim.height = size.height(); // Protocol specifies ARGB32 format in network byte order QImage im = icon.pixmap(size).toImage().convertToFormat(QImage::Format_ARGB32); - kim.data = QByteArray((char *)(im.bits()), im.byteCount()); + // letterbox if necessary to make it square + if (im.height() != im.width()) { + int maxSize = qMax(im.width(), im.height()); + QImage padded(maxSize, maxSize, QImage::Format_ARGB32); + padded.fill(Qt::transparent); + QPainter painter(&padded); + painter.drawImage((maxSize - im.width()) / 2, (maxSize - im.height()) / 2, im); + im = padded; + } + QXdgDBusImageStruct kim; + kim.width = im.width(); + kim.height = im.height(); + kim.data = QByteArray(reinterpret_cast(im.constBits()), im.byteCount()); if (QSysInfo::ByteOrder == QSysInfo::LittleEndian) { for (char *ptr = kim.data.begin(); ptr < kim.data.end(); ptr += 4) qToUnaligned(qToBigEndian(*ptr), reinterpret_cast(ptr));