summaryrefslogtreecommitdiff
path: root/kde-frameworks/plasma
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /kde-frameworks/plasma
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'kde-frameworks/plasma')
-rw-r--r--kde-frameworks/plasma/Manifest14
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch121
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch34
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch34
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch28
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch269
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch42
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch29
-rw-r--r--kde-frameworks/plasma/plasma-5.88.0-r3.ebuild83
-rw-r--r--kde-frameworks/plasma/plasma-5.90.0-r1.ebuild2
-rw-r--r--kde-frameworks/plasma/plasma-5.92.0.ebuild (renamed from kde-frameworks/plasma/plasma-5.88.0-r2.ebuild)13
11 files changed, 6 insertions, 663 deletions
diff --git a/kde-frameworks/plasma/Manifest b/kde-frameworks/plasma/Manifest
index cd38669ae829..ff7f4ed18aef 100644
--- a/kde-frameworks/plasma/Manifest
+++ b/kde-frameworks/plasma/Manifest
@@ -1,16 +1,8 @@
-AUX plasma-5.88.0-fix-centered-text.patch 5964 BLAKE2B 882776806b609517a0eeca3febf8defa11395efcfe216dc5dfd2e7d7f6b5ff949b137a73c4b69b286160760c0e3a9473d22ee48f4dd55286bddd209b3a539d52 SHA512 62d2e0df039011ede515e3e96980dfd2f1a8d1ae4d442a2b21e0f6c00c3480b19729cb321cda9b5ddafa0ae94fac1aed806c3f2501d4bef18819a5183ef4da52
-AUX plasma-5.88.0-fix-misrenderings-with-transparency.patch 1262 BLAKE2B 89c5112182f20d1beda6f11c411720a991c490ee1082f1197012f4faca2309bce2f17a0792758006a0f9851060d2b641799835824dc24967b6a4afc0897f9737 SHA512 3ea8b7df68d99fcc9ea1bfd2f8ec291d2f46e64ebf91ce0e3a5cc0260f33107f88a8c167fd1e401ab2b5e2f4d88d7125208d8de497da2f7b6a9487ac6218691b
-AUX plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch 1068 BLAKE2B 61fd267c09e56c1f4f71ad95644271078459a484c2c4a3afd9a1a60528f22694c19cf17ef7387a1931db5b3f900a29fb045eac155fb017cf9c01492a90552482 SHA512 e29ceffd67d587a45e23ef01f661343ed0b6d44bc97ad6d1f26061f1be0b61805d3aedf01a96c7a3e01619d5ca2c72f94e8785898cfa4d003e60c1ceebe93efb
-AUX plasma-5.88.0-no-double-delete.patch 988 BLAKE2B 9d3fce0c542c557cddf12cea73929e7aec917772b484a37cb104db95cf2053b7670e52807f16180251a5d5ebf40981b78fad4f2026d4128faa50362bfc49cc25 SHA512 a6801128a66726501f619a355dd21a3cde07c4e571c8e8f38b2bdbff71c3a621e0be36eaf959ae662776e518a4d8ae7b694e9ce703ac27d4fbdceb026a7d32c6
-AUX plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch 9892 BLAKE2B b0804a3f5b568c518178ef703c002a58fd71dc8139259d2e3cf81aac67070a8c60fde6a7ebf048e5912a28ad1f3e0f135846a589192ef2223087e19835c8fe07 SHA512 367f76b3a2c8ea357506dbd2926d8bfe92b922edcc3ad78d2b52491aaf7fd13689be3c1554cad0a297bbb1ab6839a379926b47d2793ef1e58db0568a2b0c56f8
-AUX plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch 2027 BLAKE2B a0136afc58043cc49925a70bd24d73e2b9a5ee9d3c0474ba77a0c9d34daedd117c151c7376907220b176bc159935fe57edacd4fa885fcd082ccfb30f585baa8f SHA512 808643c91081d31e0e5579ef394858de0e82f74b44c01e39c6ebabd8a269809bd79f0666361d30ca370042e976880169dbb6b41dc1d008f31d64199260234739
-AUX plasma-5.88.0-update-after-clearing-actions.patch 1104 BLAKE2B f4fb2603d06760c77f2bd4e927d59f2aad9baace236ea1c58799158e99931027eaef9993f39bf2e768a590a0e2dc1cb2bced6c11a1c6374a5136b87f9cc562f5 SHA512 a3687beb4bfb2d3384b4921f13ab7c20b27ce12866741e574ce2225483a6905cf1b95d6647b976f44196909ff25232a430d2eae5f7158a1a39dac23d9ae42cda
AUX plasma-5.90.0-KDEBUG-426969.patch 3254 BLAKE2B 2b2bcafa630b3daaecd54e6cf2d10b5d7f3a668c54393ca0f1f307c3dac05450801d80537b7af6188e39f25ec00430601ea5fa55f7cc7c2c4564e7f234f5fc7d SHA512 f87839edda4fd680d81ddaf59befcf6836bc5510fd287e3ca3737de0f0b16e3d8272ac3d9eaf4b12704bdd65991348e450c93824ae6ab2603c47f25be9950884
AUX plasma-5.90.0-KDEBUG-447752.patch 2649 BLAKE2B 879a0fbb02e6a90120797d2352e8b3c9874b3203fc1125a004b940f52757eea907a4499d047589c59b4cc7f87dd1ca15119aaa2d990462fda8cc989da5996826 SHA512 17e43da6fd6d6f956e17c889fd4bccdb39d88a1a08cd4cf6bf3af1021eae7dc034821b2b87e2bc5bf2eeedf0338e0d2afb3adba62c0d07a0c68bece08ac781e8
AUX plasma-5.90.0-KDEBUG-448590.patch 1433 BLAKE2B 667d2f07b474ac5b5ceda34e1e819e7b62fc74463dcc763638d18b60b9dfd93eeca87519069792ff91a80cfe0d795562468b1423943b672556bb6b49a2e84362 SHA512 822f3795fc89f95deb71d6ab3608d38608cff9be48bb30748b2c52adecdf12899707ad2be918fe014087297539c42018914d4c77f7855d4d912844838cca871c
-DIST plasma-framework-5.88.0.tar.xz 3142640 BLAKE2B cbd0cc61b6c39e56a1bceed44d7f04f0033c0daaa3073760f04536b22760147b1bb82f5b85d70d48301083e9ae13e3f6bbebafa75e264762157e2fcaf658123d SHA512 b99c8d5722198d7f2096734f62f913f74471810331980a2722f1864602f3facf796c17a494d16fca7dbbe4389fd5db64b9fe82fd34f148f4ff6230ffde0ded93
DIST plasma-framework-5.90.0.tar.xz 3143720 BLAKE2B 497a1808c2f07b985f3b458d2bf6b4b4e0198a8bd92cffdad86cc9470cd51c857c3de66edbe4d6ea543da74f6ba05fe5ce1b6746e2df7830839e45549ca01293 SHA512 0f22e100ad996be39a2cc5afa72d3e769dc512d3854d417e81536908bc4e6c9874788554fcea1ca1ec4798cd78681c78ab7c2242b95d7f5fdb6cfd9eeee9543b
-EBUILD plasma-5.88.0-r2.ebuild 2369 BLAKE2B 14e4deb3f5292674fcb30e824a386a0cc65538bde2deacd4a811983e7c16d3592627d08dc6f9584882eb4d2b839d25a88607398d0f1ee48c18ac0080ebdddd42 SHA512 7b58ac1d7120a87ab3588352ba6e7b9a529741ebd98ead6a5c7138dc685f2a64697b9e1985cd614da31adf5b61d04cef10128e6f3be5a2cf82be47f00b6268a1
-EBUILD plasma-5.88.0-r3.ebuild 2447 BLAKE2B 2a1471cb8dab390459b6745a038a56ecf9f5a08b3fbcc5ebe67b5b30442a8a20a3e7a892de120c0e336d4bf4fa5027220b10c656ed00ad61a6a2286cedfddf56 SHA512 bc975c57746ff89492db6fc1149c27478a3510422f0b58f46676a48701dcc93501b8cf83896fd481cbc3713657402f1562d9aaa06089b8fcf553bccc774e80b0
-EBUILD plasma-5.90.0-r1.ebuild 2076 BLAKE2B 14fed7b4fc036b009261d64e098201a91ae946cfdad0573ce7a8e145dfbff3d12c06aedd4947c2707e39b21c8bdd39d43bb1a2574d9611051e754cc4eab2aca4 SHA512 4be7bdec353776454b87191091f5649a04d1ae22402898b5d7603c2e782fde0de23d4a39e43254cb5ac7ba73717dad6cb069d6ddf6f083de1add8888c706e630
+DIST plasma-framework-5.92.0.tar.xz 3145504 BLAKE2B 4c9c4a6c585fae629d94666d312af9a2dc74242d59f93cf6b63e206f7b4656982e1969cee7e1543b5c32b4f0815d602cfa8d0b56c3416f92bd5d2d2048ee6ef4 SHA512 6efbb9f03ec11804b12cda209dc665468cf6f56ecf712a136a5cf1ea2cb1deb1d427896770b12c18094a2d7f0ef69da9dcbe52b16ae2126e8382ade74d8ce54c
+EBUILD plasma-5.90.0-r1.ebuild 2073 BLAKE2B 6a79b018dca1c936508c1b129df9bb44945e4787c2b0f448e451f287bbf5af111787034eabb107cd26fd63d596bd6f388d8d7b17f93bed09b4b8177bb75c39ff SHA512 ca9ef2b7ec8b87ab1df3eeaa8c90ff2aedc78eb4ab860e1539bd5d4bb3805cec253772e0bb17a79047138e41e014b6a5ff2e5a50f867be1a3cc2390ad5112560
+EBUILD plasma-5.92.0.ebuild 1943 BLAKE2B acf5b27409eb3763f894a3e64e472b0343eba7b98ff0719b51b5db2efe8e82daad3daff398679b89810c6e4d356d8fd2657fc9d1344a678009c2be35478e3fb9 SHA512 429185ca06ec503371c74dd1ec1c02f50fd57482cacead69e95b3efcae8751bb20befb8b0ff79d8133b63b3e0bfbe41467fd953a73f4d5883e3a15db7745af98
MISC metadata.xml 456 BLAKE2B 4392b1cc6f304778d71236d5eb557dfbbd530143eea5cad9a3c3034e3e8b22c835f6c7f980124a21cefd35a2dd1efd5110adc0a5342170f88dfd7418b12bee99 SHA512 7ba65331cad434e2dceee012a5458d268eb2a04e0f7276b265c15644e6db5209bc7eee7d9695aa0038c435711e0f6f0dc53c7bae9d773b48f01e22a22e4dbb80
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch b/kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch
deleted file mode 100644
index 8fb393a568d6..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 92ac1038cff333d70a71331b2a5fa0b9d91bc39d Mon Sep 17 00:00:00 2001
-From: Eugene Popov <popov895@ukr.net>
-Date: Fri, 19 Nov 2021 11:13:03 +0000
-Subject: [PATCH] Fix IconLabel
-
----
- .../plasmacomponents3/private/IconLabel.qml | 97 +++++++++++--------
- 1 file changed, 55 insertions(+), 42 deletions(-)
-
-diff --git a/src/declarativeimports/plasmacomponents3/private/IconLabel.qml b/src/declarativeimports/plasmacomponents3/private/IconLabel.qml
-index 467c2f54b..74a8ff3a5 100644
---- a/src/declarativeimports/plasmacomponents3/private/IconLabel.qml
-+++ b/src/declarativeimports/plasmacomponents3/private/IconLabel.qml
-@@ -24,49 +24,62 @@ T.Control {
- PlasmaCore.ColorScope.inherit: true
- implicitWidth: implicitContentWidth + leftPadding + rightPadding
- implicitHeight: implicitContentHeight + topPadding + bottomPadding
-- contentItem: GridLayout {
-- rowSpacing: root.spacing
-- columnSpacing: root.spacing
-- flow: root.display === T.AbstractButton.TextUnderIcon ? GridLayout.TopToBottom : GridLayout.LeftToRight
-- PlasmaCore.IconItem {
-- id: iconItem
-- visible: valid && width > 0 && height > 0 && root.display !== T.AbstractButton.TextOnly
-- colorGroup: root.PlasmaCore.ColorScope.colorGroup
-- implicitWidth: PlasmaCore.Units.iconSizes.sizeForLabels
-- implicitHeight: PlasmaCore.Units.iconSizes.sizeForLabels
-- Layout.fillWidth: true
-- Layout.fillHeight: true
-- Layout.maximumWidth: implicitWidth > 0 ? implicitWidth : Number.POSITIVE_INFINITY
-- Layout.maximumHeight: implicitHeight > 0 ? implicitHeight : Number.POSITIVE_INFINITY
-- Layout.alignment: if (root.textBesideIcon) {
-- Qt.AlignRight | Qt.AlignVCenter
-- } else if (root.textUnderIcon) {
-- Qt.AlignHCenter | Qt.AlignBottom
-- } else {
-- Qt.AlignCenter
-+ contentItem: Item {
-+ implicitWidth: gridLayout.implicitWidth
-+ implicitHeight: gridLayout.implicitHeight
-+ GridLayout {
-+ id: gridLayout
-+ rowSpacing: root.spacing
-+ columnSpacing: root.spacing
-+ flow: root.display === T.AbstractButton.TextUnderIcon ? GridLayout.TopToBottom : GridLayout.LeftToRight
-+ x: {
-+ if (root.alignment & Qt.AlignLeft) {
-+ return 0;
-+ }
-+ if (root.alignment & Qt.AlignRight) {
-+ return parent.width - width;
-+ }
-+ return Math.round((parent.width - width) / 2);
- }
-- }
-- T.Label {
-- id: label
-- visible: text.length > 0 && root.display !== T.AbstractButton.IconOnly
-- palette: root.palette
-- font: root.font
-- horizontalAlignment: root.alignment & Qt.AlignHorizontal_Mask || Text.AlignHCenter
-- verticalAlignment: root.alignment & Qt.AlignVertical_Mask || Text.AlignVCenter
-- // Work around Qt bug where NativeRendering breaks for non-integer scale factors
-- // https://bugreports.qt.io/browse/QTBUG-70481
-- renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering
-- color: PlasmaCore.ColorScope.textColor
-- linkColor: PlasmaCore.Theme.linkColor
-- elide: Text.ElideRight
-- Layout.fillWidth: root.alignment & Qt.AlignHorizontal_Mask
-- Layout.fillHeight: root.alignment & Qt.AlignVertical_Mask
-- Layout.alignment: if (root.textBesideIcon) {
-- Qt.AlignLeft | Qt.AlignVCenter
-- } else if (root.textUnderIcon) {
-- Qt.AlignHCenter | Qt.AlignTop
-- } else {
-- Qt.AlignCenter
-+ y: {
-+ if (root.alignment & Qt.AlignTop) {
-+ return 0;
-+ }
-+ if (root.alignment & Qt.AlignBottom) {
-+ return parent.height - height;
-+ }
-+ return Math.round((parent.height - height) / 2);
-+ }
-+ width: Math.min(parent.width, implicitWidth)
-+ height: Math.min(parent.height, implicitHeight)
-+ PlasmaCore.IconItem {
-+ id: iconItem
-+ visible: valid && width > 0 && height > 0 && root.display !== T.AbstractButton.TextOnly
-+ colorGroup: root.PlasmaCore.ColorScope.colorGroup
-+ implicitWidth: PlasmaCore.Units.iconSizes.sizeForLabels
-+ implicitHeight: PlasmaCore.Units.iconSizes.sizeForLabels
-+ Layout.alignment: Qt.AlignCenter
-+ Layout.maximumWidth: implicitWidth > 0 ? implicitWidth : Number.POSITIVE_INFINITY
-+ Layout.maximumHeight: implicitHeight > 0 ? implicitHeight : Number.POSITIVE_INFINITY
-+ }
-+ T.Label {
-+ id: label
-+ visible: text.length > 0 && root.display !== T.AbstractButton.IconOnly
-+ palette: root.palette
-+ font: root.font
-+ // Work around Qt bug where NativeRendering breaks for non-integer scale factors
-+ // https://bugreports.qt.io/browse/QTBUG-70481
-+ renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering
-+ color: PlasmaCore.ColorScope.textColor
-+ linkColor: PlasmaCore.Theme.linkColor
-+ elide: Text.ElideRight
-+ Layout.alignment: Qt.AlignCenter
-+ Layout.fillWidth: {
-+ if (!iconItem.visible || parent.flow === GridLayout.TopToBottom) {
-+ return implicitWidth > parent.width;
-+ }
-+ return iconItem.implicitWidth + parent.columnSpacing + implicitWidth > parent.width;
-+ }
- }
- }
- }
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch b/kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch
deleted file mode 100644
index d1e6f37d8a2b..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6176d8ef8f36290075c5bd8932d623e68468a1cd Mon Sep 17 00:00:00 2001
-From: Marco Martin <notmart@gmail.com>
-Date: Tue, 16 Nov 2021 11:05:17 +0100
-Subject: [PATCH] Do updateTheme after QQuickWindow::event
-
-doing updatetheme there will ensure that the window size is correct,
-so then when the surface commit will happen, we'll have the blur
-and contrast regions wit hthe proper geometry
-
-BUG:305247
----
- src/plasmaquick/dialog.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
-index eac7d432a..343bfe4c0 100644
---- a/src/plasmaquick/dialog.cpp
-+++ b/src/plasmaquick/dialog.cpp
-@@ -1243,10 +1243,12 @@ bool Dialog::event(QEvent *event)
- // sometimes non null regions arrive even for non visible windows
- // for which surface creation would fail
- if (!d->shellSurface && isVisible()) {
-+ const bool ret = QQuickWindow::event(event);
- KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher);
- d->setupWaylandIntegration();
- d->updateVisibility(true);
- d->updateTheme();
-+ return ret;
- }
- #endif
- } else if (event->type() == QEvent::PlatformSurface) {
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch b/kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch
deleted file mode 100644
index 0631155c89bf..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 2ba1b0b642d540f74f0e21e7aaa272644ea4eda5 Mon Sep 17 00:00:00 2001
-From: Marco Martin <notmart@gmail.com>
-Date: Mon, 8 Nov 2021 16:12:38 +0000
-Subject: [PATCH] make the OSD an actual wayland OSD
-
-when the OnScreenDisplay type is set, set it on the plasma shell surface
-so KWin can actually treat it as such
-
-CCBUG:428859
----
- src/plasmaquick/dialog.cpp | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
-index 4cea3a28e..3254b8320 100644
---- a/src/plasmaquick/dialog.cpp
-+++ b/src/plasmaquick/dialog.cpp
-@@ -736,6 +736,13 @@ void DialogPrivate::applyType()
- if (!wmType) {
- KWindowSystem::setType(q->winId(), static_cast<NET::WindowType>(type));
- }
-+#if HAVE_KWAYLAND
-+ if (type == Dialog::OnScreenDisplay) {
-+ if (shellSurface) {
-+ shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::OnScreenDisplay);
-+ }
-+ }
-+#endif
- } else {
- q->setFlags(Qt::FramelessWindowHint | q->flags());
-
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch b/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch
deleted file mode 100644
index d3a03411b2cf..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9b37459570f75e09f17aadf32f7abfe8b8d4d1e0 Mon Sep 17 00:00:00 2001
-From: Fushan Wen <qydwhotmail@gmail.com>
-Date: Sat, 4 Dec 2021 17:16:30 +0800
-Subject: [PATCH] wallpaperinterface: Don't double delete action
-
-`removeAction` already deletes the action, it makes no sense to delete
-the action again and will crash plasmashell.
-
-CCBUG: 446195
----
- src/scriptengines/qml/plasmoid/wallpaperinterface.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
-index 570cf8e45..65adf838e 100644
---- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
-+++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
-@@ -229,7 +229,6 @@ void WallpaperInterface::removeAction(const QString &name)
-
- if (action) {
- m_actions->removeAction(action);
-- delete action;
- }
- setProperty("contextualActions", QVariant::fromValue(contextualActions()));
- }
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch b/kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch
deleted file mode 100644
index 07d25c836bbf..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-From fe9e118ff2212d48a0ea5fcc0346d6312978f3ed Mon Sep 17 00:00:00 2001
-From: Marco Martin <notmart@gmail.com>
-Date: Mon, 29 Nov 2021 14:40:38 +0000
-Subject: [PATCH] Reload shared renderers when a file changed on disk
-
-When we have to render a new pixmap, compare the file date with the date of the last time the file was cached. if the dates are different (not only older, in order to allow downgrades) then force the svg renderer to be reloaded from the new file, otherwise the renderer with the old file still loaded will save in cache old graphics with the id derived from the date of the new file, causing a wrong cache entry
-
-BUG:445516
----
- src/plasma/private/svg_p.h | 15 +++++-
- src/plasma/svg.cpp | 100 +++++++++++++++++++++++++++----------
- 2 files changed, 86 insertions(+), 29 deletions(-)
-
-diff --git a/src/plasma/private/svg_p.h b/src/plasma/private/svg_p.h
-index 11b68f21c..d39f274b4 100644
---- a/src/plasma/private/svg_p.h
-+++ b/src/plasma/private/svg_p.h
-@@ -30,8 +30,14 @@ public:
-
- SharedSvgRenderer(const QByteArray &contents, const QString &styleSheet, QHash<QString, QRectF> &interestingElements, QObject *parent = nullptr);
-
-+ void reload();
-+
- private:
- bool load(const QByteArray &contents, const QString &styleSheet, QHash<QString, QRectF> &interestingElements);
-+
-+ QString m_filename;
-+ QString m_styleSheet;
-+ QHash<QString, QRectF> m_interestingElements;
- };
-
- class SvgPrivate
-@@ -125,9 +131,8 @@ public:
- bool findElementRect(SvgPrivate::CacheId cacheId, QRectF &rect);
- bool findElementRect(uint id, const QString &filePath, QRectF &rect);
-
-- void loadImageFromCache(const QString &path, uint lastModified);
-+ bool loadImageFromCache(const QString &path, uint lastModified);
- void dropImageFromCache(const QString &path);
-- void expireCache(const QString &path);
-
- void setNaturalSize(const QString &path, qreal scaleFactor, const QSizeF &size);
- QSizeF naturalSize(const QString &path, qreal scaleFactor);
-@@ -140,10 +145,15 @@ public:
-
- QStringList cachedKeysForPath(const QString &path) const;
-
-+ unsigned int lastModifiedTimeFromCache(const QString &filePath);
-+
- void updateLastModified(const QString &filePath, unsigned int lastModified);
-
- static const uint s_seed;
-
-+Q_SIGNALS:
-+ void lastModifiedChanged(const QString &filePath, unsigned int lastModified);
-+
- private:
- QTimer *m_configSyncTimer = nullptr;
- QString m_iconThemePath;
-@@ -156,6 +166,7 @@ private:
- QHash<uint, QRectF> m_localRectCache;
- QHash<QString, QSet<unsigned int>> m_invalidElements;
- QHash<QString, QList<QSize>> m_sizeHintsForId;
-+ QHash<QString, unsigned int> m_lastModifiedTimes;
- };
- }
-
-diff --git a/src/plasma/svg.cpp b/src/plasma/svg.cpp
-index 1749381b7..47cf142e1 100644
---- a/src/plasma/svg.cpp
-+++ b/src/plasma/svg.cpp
-@@ -73,6 +73,9 @@ SharedSvgRenderer::SharedSvgRenderer(const QString &filename, const QString &sty
- if (!file.open(QIODevice::ReadOnly)) {
- return;
- }
-+ m_filename = filename;
-+ m_styleSheet = styleSheet;
-+ m_interestingElements = interestingElements;
- load(file.readAll(), styleSheet, interestingElements);
- }
-
-@@ -82,6 +85,16 @@ SharedSvgRenderer::SharedSvgRenderer(const QByteArray &contents, const QString &
- load(contents, styleSheet, interestingElements);
- }
-
-+void SharedSvgRenderer::reload()
-+{
-+ KCompressionDevice file(m_filename, KCompressionDevice::GZip);
-+ if (!file.open(QIODevice::ReadOnly)) {
-+ return;
-+ }
-+
-+ load(file.readAll(), m_styleSheet, m_interestingElements);
-+}
-+
- bool SharedSvgRenderer::load(const QByteArray &contents, const QString &styleSheet, QHash<QString, QRectF> &interestingElements)
- {
- // Apply the style sheet.
-@@ -161,21 +174,31 @@ void SvgRectsCache::insert(Plasma::SvgPrivate::CacheId cacheId, const QRectF &re
-
- void SvgRectsCache::insert(uint id, const QString &filePath, const QRectF &rect, unsigned int lastModified)
- {
-- if (m_localRectCache.contains(id)) {
-+ const unsigned int savedTime = lastModifiedTimeFromCache(filePath);
-+
-+ if (savedTime == lastModified && m_localRectCache.contains(id)) {
- return;
- }
-
- m_localRectCache.insert(id, rect);
-
-+
- KConfigGroup imageGroup(m_svgElementsCache, filePath);
-- imageGroup.writeEntry("LastModified", lastModified);
-+
- if (rect.isValid()) {
- imageGroup.writeEntry(QString::number(id), rect);
- } else {
- m_invalidElements[filePath] << id;
- imageGroup.writeEntry("Invalidelements", m_invalidElements[filePath].values());
- }
-+
- QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
-+
-+ if (savedTime != lastModified) {
-+ m_lastModifiedTimes[filePath] = lastModified;
-+ imageGroup.writeEntry("LastModified", lastModified);
-+ Q_EMIT lastModifiedChanged(filePath, lastModified);
-+ }
- }
-
- bool SvgRectsCache::findElementRect(Plasma::SvgPrivate::CacheId cacheId, QRectF &rect)
-@@ -201,20 +224,21 @@ bool SvgRectsCache::findElementRect(uint id, const QString &filePath, QRectF &re
- return true;
- }
-
--void SvgRectsCache::loadImageFromCache(const QString &path, uint lastModified)
-+bool SvgRectsCache::loadImageFromCache(const QString &path, uint lastModified)
- {
- if (path.isEmpty()) {
-- return;
-+ return false;
- }
-
- KConfigGroup imageGroup(m_svgElementsCache, path);
-
-- unsigned int savedTime = imageGroup.readEntry("LastModified", 0);
-+ unsigned int savedTime = lastModifiedTimeFromCache(path);
-
-- if (lastModified > savedTime) {
-+ // Reload even if is older, to support downgrades
-+ if (lastModified != savedTime) {
- imageGroup.deleteGroup();
- QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
-- return;
-+ return false;
- }
-
- auto &elements = m_invalidElements[path];
-@@ -231,6 +255,7 @@ void SvgRectsCache::loadImageFromCache(const QString &path, uint lastModified)
- }
- }
- }
-+ return true;
- }
-
- void SvgRectsCache::dropImageFromCache(const QString &path)
-@@ -302,22 +327,6 @@ void SvgRectsCache::setIconThemePath(const QString &path)
- QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
- }
-
--void SvgRectsCache::expireCache(const QString &path)
--{
-- KConfigGroup imageGroup(m_svgElementsCache, path);
--
-- unsigned int savedTime = imageGroup.readEntry("LastModified", QDateTime().toSecsSinceEpoch());
-- QFileInfo info(path);
-- if (info.exists()) {
-- unsigned int lastModified = info.lastModified().toSecsSinceEpoch();
-- if (lastModified <= savedTime) {
-- return;
-- }
-- }
--
-- imageGroup.deleteGroup();
--}
--
- void SvgRectsCache::setNaturalSize(const QString &path, qreal scaleFactor, const QSizeF &size)
- {
- KConfigGroup imageGroup(m_svgElementsCache, path);
-@@ -349,11 +358,30 @@ QStringList SvgRectsCache::cachedKeysForPath(const QString &path) const
- return filtered;
- }
-
-+unsigned int SvgRectsCache::lastModifiedTimeFromCache(const QString &filePath)
-+{
-+ const auto &i = m_lastModifiedTimes.constFind(filePath);
-+ if (i != m_lastModifiedTimes.constEnd()) {
-+ return i.value();
-+ }
-+
-+ KConfigGroup imageGroup(m_svgElementsCache, filePath);
-+ const unsigned int savedTime = imageGroup.readEntry("LastModified", 0);
-+ m_lastModifiedTimes[filePath] = savedTime;
-+ return savedTime;
-+}
-+
- void SvgRectsCache::updateLastModified(const QString &filePath, unsigned int lastModified)
- {
- KConfigGroup imageGroup(m_svgElementsCache, filePath);
-- imageGroup.writeEntry("LastModified", lastModified);
-- QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
-+ const unsigned int savedTime = lastModifiedTimeFromCache(filePath);
-+
-+ if (savedTime != lastModified) {
-+ m_lastModifiedTimes[filePath] = lastModified;
-+ imageGroup.writeEntry("LastModified", lastModified);
-+ QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
-+ Q_EMIT lastModifiedChanged(filePath, lastModified);
-+ }
- }
-
- SvgPrivate::SvgPrivate(Svg *svg)
-@@ -463,7 +491,17 @@ bool SvgPrivate::setImagePath(const QString &imagePath)
-
- lastModified = lastModifiedDate.toSecsSinceEpoch();
-
-- SvgRectsCache::instance()->loadImageFromCache(path, lastModified);
-+ const bool imageWasCached = SvgRectsCache::instance()->loadImageFromCache(path, lastModified);
-+
-+ if (!imageWasCached) {
-+ auto i = s_renderers.constBegin();
-+ while (i != s_renderers.constEnd()) {
-+ if (i.key().contains(path)) {
-+ i.value()->reload();
-+ }
-+ i++;
-+ }
-+ }
-
- // check if svg wants colorscheme applied
- checkColorHints();
-@@ -552,7 +590,8 @@ QPixmap SvgPrivate::findInCache(const QString &elementId, qreal ratio, const QSi
- const QString id = cachePath(actualElementId, size);
-
- QPixmap p;
-- if (cacheRendering && cacheAndColorsTheme()->findInCache(id, p, lastModified)) {
-+ if (cacheRendering && lastModified == SvgRectsCache::instance()->lastModifiedTimeFromCache(path)
-+ && cacheAndColorsTheme()->findInCache(id, p, lastModified)) {
- p.setDevicePixelRatio(ratio);
- // qCDebug(LOG_PLASMA) << "found cached version of " << id << p.size();
- return p;
-@@ -845,6 +884,13 @@ Svg::Svg(QObject *parent)
- : QObject(parent)
- , d(new SvgPrivate(this))
- {
-+ connect(SvgRectsCache::instance(), &SvgRectsCache::lastModifiedChanged,
-+ this, [this] (const QString &filePath, unsigned int lastModified) {
-+ if (d->lastModified != lastModified && filePath == d->path) {
-+ d->lastModified = lastModified;
-+ Q_EMIT repaintNeeded();
-+ }
-+ });
- }
-
- Svg::~Svg()
---
-GitLab
-
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
deleted file mode 100644
index f735b392667b..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 9ba4ed4da72a3d1bbec8920d93a547cf633cfacd Mon Sep 17 00:00:00 2001
-From: Marco Martin <notmart@gmail.com>
-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/files/plasma-5.88.0-update-after-clearing-actions.patch b/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch
deleted file mode 100644
index a30e9b6e5b1d..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 77fedf1f9919eb2cc07c8ecccdd70ad2a7343161 Mon Sep 17 00:00:00 2001
-From: Fushan Wen <qydwhotmail@gmail.com>
-Date: Sat, 4 Dec 2021 18:08:43 +0800
-Subject: [PATCH] wallpaperinterface: Update "contextualActions" after clearing
- actions
-
-After clearing the entire action collection, "contextualActions" needs
-to be updated to remove invalid action pointers.
-
-BUG: 446195
----
- src/scriptengines/qml/plasmoid/wallpaperinterface.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
-index 65adf838e..49bdb9512 100644
---- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
-+++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
-@@ -115,6 +115,7 @@ void WallpaperInterface::syncWallpaperPackage()
- }
-
- m_actions->clear();
-+ setProperty("contextualActions", QVariant::fromValue(contextualActions()));
- m_pkg = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/Wallpaper"));
- m_pkg.setPath(m_wallpaperPlugin);
- if (!m_pkg.isValid()) {
---
-GitLab
-
diff --git a/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild b/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild
deleted file mode 100644
index a7454cdc9b4b..000000000000
--- a/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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
-}
diff --git a/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild
index a59a50636a36..df38b8e9aa83 100644
--- a/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild
+++ b/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild
@@ -12,7 +12,7 @@ inherit ecm kde.org
DESCRIPTION="Plasma framework"
LICENSE="LGPL-2+"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
IUSE="gles2-only man wayland X"
RESTRICT="test"
diff --git a/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild b/kde-frameworks/plasma/plasma-5.92.0.ebuild
index 1954bafc268a..0a0ae5ff71e9 100644
--- a/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild
+++ b/kde-frameworks/plasma/plasma-5.92.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ inherit ecm kde.org
DESCRIPTION="Plasma framework"
LICENSE="LGPL-2+"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="gles2-only man wayland X"
RESTRICT="test"
@@ -59,15 +59,6 @@ DEPEND="${RDEPEND}
"
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
-)
-
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package !gles2-only OpenGL)