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 +}
