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