From bdb2d182171af2cac0879668abc8cf139e78160a Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Thu, 12 Nov 2020 19:15:20 +0800 Subject: [PATCH 6/6] kwin 5.19 --- plugins/kwineffects/blur/blur.cpp | 23 +++++++++++------------ plugins/kwineffects/blur/blur.h | 7 ++----- plugins/platforms/lib/kwinutils.cpp | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/plugins/kwineffects/blur/blur.cpp b/plugins/kwineffects/blur/blur.cpp index 470bef12f..144ed977b 100644 --- a/plugins/kwineffects/blur/blur.cpp +++ b/plugins/kwineffects/blur/blur.cpp @@ -32,10 +32,10 @@ #include // for ceil() #include -#include -#include -#include -#include +#include +#include +#include +#include static const QByteArray s_blurAtomName = QByteArrayLiteral("_KDE_NET_WM_BLUR_BEHIND_REGION"); @@ -52,10 +52,9 @@ BlurEffect::BlurEffect(QObject *, const QVariantList &) // Should be included in _NET_SUPPORTED instead. if (m_shader && m_shader->isValid() && m_renderTargetsValid) { net_wm_blur_region = effects->announceSupportProperty(s_blurAtomName, this); - KWayland::Server::Display *display = effects->waylandDisplay(); + KWaylandServer::Display *display = effects->waylandDisplay(); if (display) { m_blurManager = display->createBlurManager(this); - m_blurManager->create(); } } else { net_wm_blur_region = 0; @@ -301,7 +300,7 @@ void BlurEffect::updateBlurRegion(EffectWindow *w) const } } - KWayland::Server::SurfaceInterface *surf = w->surface(); + KWaylandServer::SurfaceInterface *surf = w->surface(); if (surf && surf->blur()) { region = surf->blur()->region(); @@ -329,10 +328,10 @@ void BlurEffect::updateBlurRegion(EffectWindow *w) const void BlurEffect::slotWindowAdded(EffectWindow *w) { - KWayland::Server::SurfaceInterface *surf = w->surface(); + KWaylandServer::SurfaceInterface *surf = w->surface(); if (surf) { - windowBlurChangedConnections[w] = connect(surf, &KWayland::Server::SurfaceInterface::blurChanged, this, [this, w] () { + windowBlurChangedConnections[w] = connect(surf, &KWaylandServer::SurfaceInterface::blurChanged, this, [this, w] () { if (w) { updateBlurRegion(w); } @@ -436,7 +435,7 @@ QRegion BlurEffect::blurRegion(const EffectWindow *w) const const QRegion appRegion = qvariant_cast(value); if (!appRegion.isEmpty()) { if (w->decorationHasAlpha() && effects->decorationSupportsBlurBehind()) { - region = w->shape(); + region = w->shape() & w->rect(); region -= w->decorationInnerRect(); } region |= appRegion.translated(w->contentsRect().topLeft()) & @@ -444,12 +443,12 @@ QRegion BlurEffect::blurRegion(const EffectWindow *w) const } else { // An empty region means that the blur effect should be enabled // for the whole window. - region = w->shape(); + region = w->shape() & w->rect(); } } else if (w->decorationHasAlpha() && effects->decorationSupportsBlurBehind()) { // If the client hasn't specified a blur region, we'll only enable // the effect behind the decoration. - region = w->shape(); + region = w->shape() & w->rect(); region -= w->decorationInnerRect(); } diff --git a/plugins/kwineffects/blur/blur.h b/plugins/kwineffects/blur/blur.h index 441441c85..c7432e39b 100644 --- a/plugins/kwineffects/blur/blur.h +++ b/plugins/kwineffects/blur/blur.h @@ -31,13 +31,10 @@ using namespace KWin; -namespace KWayland -{ -namespace Server +namespace KWaylandServer { class BlurManagerInterface; } -} static const int borderSize = 5; @@ -132,7 +129,7 @@ private: QVector blurStrengthValues; QMap windowBlurChangedConnections; - KWayland::Server::BlurManagerInterface *m_blurManager = nullptr; + KWaylandServer::BlurManagerInterface *m_blurManager = nullptr; }; inline diff --git a/plugins/platforms/lib/kwinutils.cpp b/plugins/platforms/lib/kwinutils.cpp index 4d3fdc586..ebab090b9 100644 --- a/plugins/platforms/lib/kwinutils.cpp +++ b/plugins/platforms/lib/kwinutils.cpp @@ -604,7 +604,7 @@ QObject *KWinUtils::tabBox() QObject *KWinUtils::cursor() { - return KWin::Cursor::s_self; + return nullptr; //KWin::Cursor; } QObject *KWinUtils::virtualDesktop() -- 2.26.2