commit:     a4699d9c6dea1e6df9b37c10127d21460e744166
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 15 10:45:30 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 15 11:28:06 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4699d9c

kde-frameworks/plasma: Hide svg glitches using a smaller mask

Upstream commit 9ba4ed4da72a3d1bbec8920d93a547cf633cfacd
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=438644

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-5.88.0-svg-smaller-mask-to-hide-glitches.patch | 42 +++++++++++
 kde-frameworks/plasma/plasma-5.88.0-r3.ebuild      | 83 ++++++++++++++++++++++
 2 files changed, 125 insertions(+)

diff --git 
a/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch
 
b/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch
new file mode 100644
index 000000000000..f735b392667b
--- /dev/null
+++ 
b/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch
@@ -0,0 +1,42 @@
+From 9ba4ed4da72a3d1bbec8920d93a547cf633cfacd Mon Sep 17 00:00:00 2001
+From: Marco Martin <[email protected]>
+Date: Wed, 10 Nov 2021 15:50:10 +0100
+Subject: [PATCH] smaller mask to hide glitches
+
+This makes the mask slightly maller than the frame. Since the svg will have 
antialiasing and the mask not,
+there will be artifacts at the corners, if they go under the svg they're less 
evident
+
+CCBUG:438644
+---
+ src/plasmaquick/dialog.cpp | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
+index 3254b8320..6b3963303 100644
+--- a/src/plasmaquick/dialog.cpp
++++ b/src/plasmaquick/dialog.cpp
+@@ -237,14 +237,19 @@ void DialogPrivate::updateTheme()
+             frameSvgItem->setImagePath(prefix + 
QStringLiteral("dialogs/background"));
+         }
+ 
+-        KWindowEffects::enableBlurBehind(q, theme.blurBehindEnabled(), 
frameSvgItem->mask());
++        // This makes the mask slightly maller than the frame. Since the svg 
will have antialiasing and the mask not,
++        // there will be artifacts at the corners, if they go under the svg 
they're less evident
++        frameSvgItem->frameSvg()->resizeFrame(q->size() - QSize(2,2));
++        const QRegion mask = frameSvgItem->frameSvg()->mask().translated(1,1);
++        KWindowEffects::enableBlurBehind(q, theme.blurBehindEnabled(), mask);
+ 
+         KWindowEffects::enableBackgroundContrast(q,
+                                                  
theme.backgroundContrastEnabled(),
+                                                  theme.backgroundContrast(),
+                                                  theme.backgroundIntensity(),
+                                                  theme.backgroundSaturation(),
+-                                                 frameSvgItem->mask());
++                                                 mask);
++        frameSvgItem->frameSvg()->resizeFrame(q->size());
+ 
+         if (KWindowSystem::compositingActive()) {
+             if (hasMask) {
+-- 
+GitLab
+

diff --git a/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild 
b/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild
new file mode 100644
index 000000000000..987c2970f561
--- /dev/null
+++ b/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_NAME="${PN}-framework"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Plasma framework"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="gles2-only man wayland X"
+
+RESTRICT="test"
+
+RDEPEND="
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtdeclarative-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5[gles2-only=,X=]
+       >=dev-qt/qtquickcontrols-${QTMIN}:5
+       >=dev-qt/qtsql-${QTMIN}:5
+       >=dev-qt/qtsvg-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       =kde-frameworks/kactivities-${PVCUT}*:5
+       =kde-frameworks/karchive-${PVCUT}*:5
+       =kde-frameworks/kconfig-${PVCUT}*:5
+       =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+       =kde-frameworks/kcoreaddons-${PVCUT}*:5
+       =kde-frameworks/kdeclarative-${PVCUT}*:5
+       =kde-frameworks/kglobalaccel-${PVCUT}*:5
+       =kde-frameworks/kguiaddons-${PVCUT}*:5
+       =kde-frameworks/ki18n-${PVCUT}*:5
+       =kde-frameworks/kiconthemes-${PVCUT}*:5
+       =kde-frameworks/kio-${PVCUT}*:5
+       =kde-frameworks/kirigami-${PVCUT}*:5
+       =kde-frameworks/knotifications-${PVCUT}*:5
+       =kde-frameworks/kpackage-${PVCUT}*:5
+       =kde-frameworks/kservice-${PVCUT}*:5
+       =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+       =kde-frameworks/kwindowsystem-${PVCUT}*:5
+       =kde-frameworks/kxmlgui-${PVCUT}*:5
+       !gles2-only? ( media-libs/libglvnd[X?] )
+       wayland? (
+               =kde-frameworks/kwayland-${PVCUT}*:5
+               media-libs/libglvnd
+       )
+       X? (
+               >=dev-qt/qtx11extras-${QTMIN}:5
+               x11-libs/libX11
+               x11-libs/libxcb
+       )
+"
+DEPEND="${RDEPEND}
+       X? ( x11-base/xorg-proto )
+"
+BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-make-OSD-an-actual-wayland-OSD.patch
+       "${FILESDIR}"/${P}-fix-misrenderings-with-transparency.patch # KDE-bug 
305247
+       "${FILESDIR}"/${P}-fix-centered-text.patch # KDE-bug 442830
+       "${FILESDIR}"/${P}-reload-shared-renderers-if-changed-on-disk.patch # 
KDE-bug 445516
+       "${FILESDIR}"/${P}-no-double-delete.patch # KDE-bug 446195
+       "${FILESDIR}"/${P}-update-after-clearing-actions.patch # KDE-bug 446195
+       "${FILESDIR}"/${P}-svg-smaller-mask-to-hide-glitches.patch # KDE-bug 
438644
+)
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package !gles2-only OpenGL)
+               $(cmake_use_find_package man KF5DocTools)
+               $(cmake_use_find_package wayland EGL)
+               $(cmake_use_find_package wayland KF5Wayland)
+               $(cmake_use_find_package X X11)
+               $(cmake_use_find_package X XCB)
+       )
+
+       ecm_src_configure
+}

Reply via email to