[arch-commits] Commit in deepin-kwin/trunk (PKGBUILD deepin-kwin-unload-blur.patch)

Felix Yan felixonmars at archlinux.org
Fri Aug 28 08:57:54 UTC 2020


    Date: Friday, August 28, 2020 @ 08:57:54
  Author: felixonmars
Revision: 690310

upgpkg: deepin-kwin 5.2.0.1-1

Added:
  deepin-kwin/trunk/deepin-kwin-unload-blur.patch
Modified:
  deepin-kwin/trunk/PKGBUILD

-------------------------------+
 PKGBUILD                      |   11 +++---
 deepin-kwin-unload-blur.patch |   66 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-08-28 08:57:52 UTC (rev 690309)
+++ PKGBUILD	2020-08-28 08:57:54 UTC (rev 690310)
@@ -3,8 +3,8 @@
 # Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com>
 
 pkgname=deepin-kwin
-pkgver=5.1.0.20
-pkgrel=3
+pkgver=5.2.0.1
+pkgrel=1
 pkgdesc='KWin configures on DDE'
 arch=('x86_64')
 url="https://github.com/linuxdeepin/dde-kwin"
@@ -15,14 +15,14 @@
 source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-kwin/archive/$pkgver.tar.gz"
         $pkgname-tabbox-chameleon-rename.patch::https://github.com/linuxdeepin/dde-kwin/pull/106.patch
         $pkgname-build-fix.patch::https://github.com/linuxdeepin/dde-kwin/pull/109.patch
-        $pkgname-unload-blur.patch::https://github.com/linuxdeepin/dde-kwin/pull/112.patch
+        $pkgname-unload-blur.patch
         $pkgname-added-functions-from-their-forked-kwin.patch::https://github.com/linuxdeepin/dde-kwin/commit/23a92e4839509ee3ef8886618ce1ee4cfbec3427.patch
         deepin-kwin-qt5.15.patch
         kwin-5.19.patch)
-sha512sums=('23b50b1008751765bd59a4d4192e54e35dc019c2d59af992f96da15bea5dce0701e7ff55b8cb47caad5a302edefd3d2e2948f26f32f23d071d52a7113dec1754'
+sha512sums=('a7dfe0fd25b9ae9d306a4986dc260ed5a87ba569abe09e14232ba7cc677d9138f14016161d1d84221d98802bb88e412b6bce7c5e31418b327e3b643f5413eb4f'
             '7ac1a577868b73314274d336287334acc5bf4ac06dde046c93e4c2d3f68a112389c8b0644d1cbc3fde5ba1c01f368676f4f34b4a1b7b6c97a5b73d66507d134d'
             '3e10241050959b51bdd6bf752253af61a2b5899c3df5d84716bd1688d9292ff65d2b7d3aea8f61e896081a9bee013cb3f4c2f42f7915038f7f476120a44cf029'
-            '800bb8770b4a6d835e27f33226f81dce92ddf10c295e02015419788e667e7d46b014d69bde73d03af8f0480c938526b48498368d2f16619689352f0e8e183912'
+            '9c5bf86510d0fbba36e71997f55eda1b197b26af7eeb0adb9e06e7e3cc86b32c00cd23dfca872f4043f76a1d9435f916aae73536f10c7b3fe7e79a6e74a309d2'
             '1e246657161b2d3790c8c4e7f372f7426434d727eda6f3ad656962a86f56f16cbeee56f4ae77006d71bfc3e9dc7481c7266238175d52c1517775af44a262ab2d'
             '8fe73f833e2b24fe9bbaf12220a9d41d5e4808c833d7e7878635a85429e6c474ae79189d75d1d4e77c78bafbe2855db37ded24c85768f9a9415a00a0456c9dce'
             'a33c21cae1d271b9e93df0b2987fb8c3956018406c88cc6a847b7f0e228316020b45f0961b67bf52b70b36da7840920bf729cc552f5ea765110766806756f348')
@@ -30,7 +30,6 @@
 prepare() {
   cd dde-kwin-$pkgver
   sed -i 's|/usr/share/backgrounds/default_background.jpg|/usr/share/backgrounds/deepin/desktop.jpg|' plugins/kwineffects/multitasking/background.cpp
-  sed -i '/光标管理/,+6d' plugins/platforms/lib/kwinutils.cpp
   patch -R -p1 -i ../$pkgname-added-functions-from-their-forked-kwin.patch
   patch -p1 -i ../$pkgname-tabbox-chameleon-rename.patch
   patch -p1 -i ../$pkgname-build-fix.patch

Added: deepin-kwin-unload-blur.patch
===================================================================
--- deepin-kwin-unload-blur.patch	                        (rev 0)
+++ deepin-kwin-unload-blur.patch	2020-08-28 08:57:54 UTC (rev 690310)
@@ -0,0 +1,66 @@
+From 2a1753972eac4345e864d6f4ec795a9fda48fda1 Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars at archlinux.org>
+Date: Sun, 17 May 2020 23:46:26 +0800
+Subject: [PATCH] fix: make sure kwin's builtin blur is unloaded
+
+---
+ plugins/kwineffects/blur/blur.cpp | 24 ++++++++++++++----------
+ plugins/kwineffects/blur/blur.h   |  1 +
+ 2 files changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/plugins/kwineffects/blur/blur.cpp b/plugins/kwineffects/blur/blur.cpp
+index b5cae9e..6f38429 100644
+--- a/plugins/kwineffects/blur/blur.cpp
++++ b/plugins/kwineffects/blur/blur.cpp
+@@ -41,16 +41,7 @@ static const QByteArray s_blurAtomName = QByteArrayLiteral("_KDE_NET_WM_BLUR_BEH
+ 
+ BlurEffect::BlurEffect(QObject *, const QVariantList &)
+ {
+-    // 禁用kwin自己的模糊特效,防止两个特效之间出现冲突
+-    {
+-        bool blur_loaded = false;
+-        QMetaObject::invokeMethod(effects, "isEffectLoaded", Qt::DirectConnection, Q_RETURN_ARG(bool, blur_loaded), Q_ARG(QString, "blur"));
+-
+-        if (blur_loaded) {
+-            // qWarning() << "will try unload builtIn blur effect of kwin";
+-            QMetaObject::invokeMethod(effects, "unloadEffect", Qt::DirectConnection, Q_ARG(QString, "blur"));
+-        }
+-    }
++    unloadBuiltinBlur();
+ 
+     m_shader = new BlurShader(this);
+ 
+@@ -687,8 +678,21 @@ void BlurEffect::generateNoiseTexture()
+     m_noiseTexture.setWrapMode(GL_REPEAT);
+ }
+ 
++void BlurEffect::unloadBuiltinBlur()
++// 禁用kwin自己的模糊特效,防止两个特效之间出现冲突
++{
++    bool blur_loaded = false;
++    QMetaObject::invokeMethod(effects, "isEffectLoaded", Qt::DirectConnection, Q_RETURN_ARG(bool, blur_loaded), Q_ARG(QString, "blur"));
++
++    if (blur_loaded) {
++        qWarning() << "will try unload builtIn blur effect of kwin";
++        QMetaObject::invokeMethod(effects, "unloadEffect", Qt::DirectConnection, Q_ARG(QString, "blur"));
++    }
++}
++
+ void BlurEffect::doBlur(const QRegion& shape, const QRect& screen, const float opacity, const QMatrix4x4 &screenProjection, bool isDock, QRect windowRect)
+ {
++    unloadBuiltinBlur();
+     // Blur would not render correctly on a secondary monitor because of wrong coordinates
+     // BUG: 393723
+     const int xTranslate = -screen.x();
+diff --git a/plugins/kwineffects/blur/blur.h b/plugins/kwineffects/blur/blur.h
+index 7c76a82..ac0c21e 100644
+--- a/plugins/kwineffects/blur/blur.h
++++ b/plugins/kwineffects/blur/blur.h
+@@ -88,6 +88,7 @@ public Q_SLOTS:
+     void uploadRegion(QVector2D *&map, const QRegion &region, const int downSampleIterations);
+     void uploadGeometry(GLVertexBuffer *vbo, const QRegion &blurRegion, const QRegion &windowRegion);
+     void generateNoiseTexture();
++    void unloadBuiltinBlur();
+ 
+     void upscaleRenderToScreen(GLVertexBuffer *vbo, int vboStart, int blurRectCount, QMatrix4x4 screenProjection, QPoint windowPosition);
+     void downSampleTexture(GLVertexBuffer *vbo, int blurRectCount);



More information about the arch-commits mailing list