From 00892b3ece0c219a4cb4d6a3f1f5e6573c9a07de Mon Sep 17 00:00:00 2001 From: tpearson Date: Thu, 25 Aug 2011 07:11:37 +0000 Subject: [PATCH] Fix system tray icons when the parent application is in ARGB mode git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1249387 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kdeui/ksystemtray.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kdeui/ksystemtray.cpp b/kdeui/ksystemtray.cpp index f0586ab28..5374c49f8 100644 --- a/kdeui/ksystemtray.cpp +++ b/kdeui/ksystemtray.cpp @@ -34,6 +34,7 @@ #include #endif +#include #include #include @@ -325,9 +326,12 @@ TQPixmap KSystemTray::loadSizedIcon( const TQString &icon, int iconWidth, KInsta void KSystemTray::setPixmap( const TQPixmap& p ) { - TQLabel::setPixmap( p ); + TQPixmap iconPixmapToSet = p; + if (TQPaintDevice::x11AppDepth() == 32) iconPixmapToSet.convertFromImage(KImageEffect::convertToPremultipliedAlpha( iconPixmapToSet.convertToImage() )); + if (TQPaintDevice::x11AppDepth() == 32) setBackgroundMode( NoBackground ); + TQLabel::setPixmap( iconPixmapToSet ); #ifdef Q_WS_X11 - KWin::setIcons( winId(), p, TQPixmap()); + KWin::setIcons( winId(), iconPixmapToSet, TQPixmap()); #endif }