Blob Blame History Raw
Index: plasma/plasma/panelview.h
===================================================================
--- plasma/plasma/panelview.h	(revision 866709)
+++ plasma/plasma/panelview.h	(revision 866715)
@@ -146,6 +146,7 @@
     void leaveEvent(QEvent *event);
     void drawBackground(QPainter * painter, const QRectF & rect);
     void paintEvent(QPaintEvent *event);
+    bool event(QEvent *event);
 
 private:
     void createUnhideTrigger();
Index: plasma/plasma/panelcontroller.cpp
===================================================================
--- plasma/plasma/panelcontroller.cpp	(revision 866709)
+++ plasma/plasma/panelcontroller.cpp	(revision 866715)
@@ -328,6 +328,9 @@
 {
     Q_UNUSED(parent)
 
+    QPalette pal = palette();
+    pal.setBrush(backgroundRole(), Qt::transparent);
+    QWidget::setPalette(pal);
 
     d->background = new Plasma::PanelSvg(this);
     d->background->setImagePath("dialogs/background");
Index: plasma/plasma/panelview.cpp
===================================================================
--- plasma/plasma/panelview.cpp	(revision 866709)
+++ plasma/plasma/panelview.cpp	(revision 866715)
@@ -91,6 +91,10 @@
     setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 
+    QPalette pal = palette();
+    pal.setBrush(backgroundRole(), Qt::transparent);
+    setPalette(pal);
+
     // KWin setup
     KWindowSystem::setOnAllDesktops(winId(), true);
 
@@ -797,7 +801,7 @@
 {
     if (PlasmaApp::hasComposite()) {
         painter->setCompositionMode(QPainter::CompositionMode_Source);
-        painter->fillRect(rect, Qt::transparent);
+        painter->fillRect(rect.toAlignedRect(), Qt::transparent);
     } else {
         Plasma::View::drawBackground(painter, rect);
     }
@@ -818,6 +822,16 @@
     }
 }
 
+bool PanelView::event(QEvent *event)
+{
+    if (event->type() == QEvent::Paint) {
+        QPainter p(this);
+        p.setCompositionMode(QPainter::CompositionMode_Source);
+        p.fillRect(rect(), Qt::transparent);
+    }
+    return Plasma::View::event(event);
+}
+
 void PanelView::animateHide(qreal progress)
 {
     int margin = 0;