diff --git a/desktopcorona.cpp b/desktopcorona.cpp index 03b5575f9..2deac8f95 100644 --- a/desktopcorona.cpp +++ b/desktopcorona.cpp @@ -186,6 +186,7 @@ void DesktopCorona::checkViews() } else if (m_views.count() < m_desktopWidget->screenCount()) { for (int i = m_views.count(); i < m_desktopWidget->screenCount(); ++i) { View *view = new View(this); + QSurfaceFormat format; view->init(); view->show(); diff --git a/panelview.cpp b/panelview.cpp index ac50388d0..01d0503eb 100644 --- a/panelview.cpp +++ b/panelview.cpp @@ -25,12 +25,11 @@ PanelView::PanelView(Plasma::Corona *corona, QWindow *parent) : View(corona, parent) { - //FIXME: this works only if done in View - /*QSurfaceFormat format; + QSurfaceFormat format; format.setAlphaBufferSize(8); setFormat(format); setClearBeforeRendering(true); - setColor(QColor(Qt::transparent));*/ + setColor(QColor(Qt::transparent)); setFlags(Qt::FramelessWindowHint); } diff --git a/view.cpp b/view.cpp index 367225c78..d5ab7be8a 100644 --- a/view.cpp +++ b/view.cpp @@ -28,6 +28,11 @@ View::View(Plasma::Corona *corona, QWindow *parent) : QQuickView(parent), m_corona(corona) { + //FIXME: for some reason all windows must have alpha enable otherwise the ones that do won't paint. + //Probably is an architectural problem + QSurfaceFormat format; + format.setAlphaBufferSize(8); + setFormat(format); } View::~View()