diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp index 44217b2c83..663b0ebffa 100644 --- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp +++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp @@ -321,6 +321,9 @@ void Decoration::init() connect(m_view->contentItem(), &QQuickItem::heightChanged, m_item, updateSize); connect(m_view, &KWin::OffscreenQuickView::repaintNeeded, this, &Decoration::updateBuffer); } + + m_supportsMask = m_item->property("supportsMask").toBool(); + setupBorders(m_item); @@ -572,7 +575,7 @@ void Decoration::updateExtendedBorders() void Decoration::updateBlur() { - if (!m_item) { + if (!m_item || !m_supportsMask) { return; } diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.h b/src/plugins/kdecorations/aurorae/src/aurorae.h index 793a9ecd71..46c5a5ffd9 100644 --- a/src/plugins/kdecorations/aurorae/src/aurorae.h +++ b/src/plugins/kdecorations/aurorae/src/aurorae.h @@ -68,6 +68,8 @@ private: void updateBuffer(); void updateExtendedBorders(); + bool m_supportsMask{false}; + QRect m_contentRect; //the geometry of the part of the buffer that is not a shadow when buffer was created. QQuickItem *m_item = nullptr; QQmlContext *m_qmlContext = nullptr; diff --git a/src/plugins/kdecorations/aurorae/src/qml/aurorae.qml b/src/plugins/kdecorations/aurorae/src/qml/aurorae.qml index e167e5ec61..41c35b4474 100644 --- a/src/plugins/kdecorations/aurorae/src/qml/aurorae.qml +++ b/src/plugins/kdecorations/aurorae/src/qml/aurorae.qml @@ -11,6 +11,7 @@ Decoration { id: root property bool animate: false property alias decorationMask: maskItem.mask + property alias supportsMask: backgroundSvg.supportsMask Component.onCompleted: { borders.left = Qt.binding(function() { return Math.max(0, auroraeTheme.borderLeft);}); borders.right = Qt.binding(function() { return Math.max(0, auroraeTheme.borderRight);}); @@ -42,6 +43,7 @@ Decoration { } PlasmaCore.FrameSvg { property bool supportsInactive: hasElementPrefix("decoration-inactive") + property bool supportsMask: hasElementPrefix("mask") property bool supportsMaximized: hasElementPrefix("decoration-maximized") property bool supportsMaximizedInactive: hasElementPrefix("decoration-maximized-inactive") property bool supportsInnerBorder: hasElementPrefix("innerborder")