Blob Blame History Raw
From bdb2d182171af2cac0879668abc8cf139e78160a Mon Sep 17 00:00:00 2001
From: Robin Lee <cheeselee@fedoraproject.org>
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 <cmath> // for ceil()
 #include <QTimer>
 
-#include <KWayland/Server/surface_interface.h>
-#include <KWayland/Server/blur_interface.h>
-#include <KWayland/Server/shadow_interface.h>
-#include <KWayland/Server/display.h>
+#include <KWaylandServer/surface_interface.h>
+#include <KWaylandServer/blur_interface.h>
+#include <KWaylandServer/shadow_interface.h>
+#include <KWaylandServer/display.h>
 
 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<QRegion>(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 <BlurValuesStruct> blurStrengthValues;
 
     QMap <EffectWindow*, QMetaObject::Connection> 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