summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-19 00:15:15 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-19 00:15:15 +0000
commit2e512e4e32285f8c4eb19586d014cb9d31454ec9 (patch)
treee5884cadbd260c6936495a63b92f4503d54e5428 /kde-plasma/kwin
parent5264c18a325553759d67fb4e059db03cf3fc5c81 (diff)
gentoo auto-resync : 19:02:2025 - 00:15:15
Diffstat (limited to 'kde-plasma/kwin')
-rw-r--r--kde-plasma/kwin/Manifest7
-rw-r--r--kde-plasma/kwin/files/kwin-6.3.0-crashfix.patch29
-rw-r--r--kde-plasma/kwin/files/kwin-6.3.0-lto.patch76
-rw-r--r--kde-plasma/kwin/files/kwin-6.3.1-gcc15-workaround.patch92
-rw-r--r--kde-plasma/kwin/kwin-6.3.1.ebuild (renamed from kde-plasma/kwin/kwin-6.3.0-r2.ebuild)3
5 files changed, 96 insertions, 111 deletions
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest
index 00575f05a277..a34b00b83708 100644
--- a/kde-plasma/kwin/Manifest
+++ b/kde-plasma/kwin/Manifest
@@ -1,7 +1,6 @@
-AUX kwin-6.3.0-crashfix.patch 850 BLAKE2B f6e6174142806aee84d51b9a854dcbe8fc712b8beb95d7b1fbeee8f9a974c9d9e1e62125971c7467d0f95971f52258fdc6261e1e02a435f7b78698b52afda1f4 SHA512 93a862124a234e76c039028b5712487f3e36a5dc3a37f5112ebc6d95131d36dd227e88010f9aebf644fb2a8759395e3bf2a89603333651d4d8a23291f21178ca
-AUX kwin-6.3.0-lto.patch 2844 BLAKE2B 28a7123e6e12f23a08e689b50ec5ce5a2883c00c27703634f8484a4e62ef983d27dfdab5a696b655cbc85f2ddce61052e6e9d8a8e024afd4b5600a7951b77a0e SHA512 2ebcc9b68cb89b3f751dbc8d5998c3f515a2bb268242734ef3f0ff2b1e29c263915e9412165109636a323d784cc3763f097184b53d3a4d0842099e88342f0f2d
+AUX kwin-6.3.1-gcc15-workaround.patch 4151 BLAKE2B 8c013bfc27eac43982eb63353e233a3083fd55e59af2c36fe3356a106be2fbff664cfa2c4b6c8720db49e0d8aa1b1bf36bf7409c552a164acb3580cf3ec7a68f SHA512 c6c7b485c0fb1bc1342b22e12f0ed6ce0a1fe481537797d2f76c509e507b75912352f32cbc75bba97a1b24261301aa325b77f05019aa1f7efe96679c126ef65e
DIST kwin-6.2.5.tar.xz 8563352 BLAKE2B 9a1ac80c337722d6a6411c338ac31f14f542f6d84505cc65c66e1ceedea2b88cbc9dabba68c42acf5dbace28b62e04cadc09a010a7972bc5ceb22d79344033fe SHA512 06a78d41003f2fb676f3cadca21a1e26a0006b78dcd9188c09d92fbc45f934aa9e923a69013b1cb496396d924a1848feb136d3016d64e14eca9cc525743b095b
-DIST kwin-6.3.0.tar.xz 8865496 BLAKE2B 41755ac89753f6eac62e2fb4b69e7e677a0a5cd92f1ba6f4bd524bc42478d672579985f3e6a39ea925c906c54300d157dae7dab39876eb1fc7137c3b374dccbc SHA512 282dd32722f90937da66aab46528ca9f144146f31ee3b09f616d706f7d4349fe36239dd82f6feffe2008082b4b61d44a8a1c3d58590d5e962b9bd424e433c459
+DIST kwin-6.3.1.tar.xz 8865828 BLAKE2B 7923f50bc63fbb279a05f5ae77b27e9db43b41a84e8af16d8603e75362067cd6ad8200fa7aa1065dcb2e94f1c0cc468e82a19e389adb93c93c2296210e943427 SHA512 c3b09ca37a9affd710ff872f8bcffb06b994c16757caa1abbff07a9605800b01fb5921add184b505314539b846853853fae909018811a704d0f69bdd5677d342
EBUILD kwin-6.2.5.ebuild 4338 BLAKE2B 7d9ee1ed1aa206230a23efdbb00a9a12b3094ee803bc5dabc74baf5dfdfa325f56a93194e2ecb24863266271973ef3bb011d4fd4acaf595f445f5a4edba5a184 SHA512 044f0f5e4336069826772e335264d5968a620acad76fe73f8d9debe88bf51ac87ed5e980286a3089aaa17c99ef677c88fb7fd6ca7906455470d560eb8a5ea285
-EBUILD kwin-6.3.0-r2.ebuild 4439 BLAKE2B 884bfe0223453ee6ab983d34c7750f73a55be4f5324696e2c67c90bb833d57fe696462e8d2c39ba603a244ae9d0c3eff1dc9587c86959d476814688384cce4e4 SHA512 7d3d6c3955df00e2e23d8bc31299c3e64620fe4dce16f17da0a0698bd409b217555ac8c6c259ec613e2b76a88f18cc938ccdf4667f3a2736f58f3914f8fa6d74
+EBUILD kwin-6.3.1.ebuild 4417 BLAKE2B 9b134348ae41ee9632e51c61a1c5f8d2f6e41c9e0c16c6faa3ebd7ce61b8f9d55b7bfc72138d292147db04124977367c2f45747e9563e12e0545cde6eacce30d SHA512 7568d3c9221180cc874b8e4fedcda3cd0e5a740f0a809c3a73fb741ab1ed3c40f47f83dec86d61daf683cdeef5be2f6f896405739c2f31cf709d9e813ebcbd0a
MISC metadata.xml 677 BLAKE2B 050345f8f8f489b3cb81e112c05fddedc738c8f136d409b8754c54494a02caf5671a66dd1ecd7cfb91f24ab11210c67f78c09c928a4daf16b3512600649551c5 SHA512 5134373a0ce30f351344c07df4a68f97a15bf3bdb061ba8ff3355a42da2281d64bb506cdcb5b1dad698fc2061b4a4a92e054e08c521acb327b84f968a7d936dc
diff --git a/kde-plasma/kwin/files/kwin-6.3.0-crashfix.patch b/kde-plasma/kwin/files/kwin-6.3.0-crashfix.patch
deleted file mode 100644
index 7d1cef4d4fb3..000000000000
--- a/kde-plasma/kwin/files/kwin-6.3.0-crashfix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c97bc26ca9de8b1462f6ccb05fb2dafe01cd82cb Mon Sep 17 00:00:00 2001
-From: Fushan Wen <qydwhotmail@gmail.com>
-Date: Sat, 8 Feb 2025 23:39:36 +0800
-Subject: [PATCH] core/outputlayer: guard against null m_output
-
-SENTRY: KWIN-8ZG
-FIXED-IN: 6.3.1
----
- src/core/outputlayer.cpp | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/core/outputlayer.cpp b/src/core/outputlayer.cpp
-index f041a8d1d93..9c4aaf2f501 100644
---- a/src/core/outputlayer.cpp
-+++ b/src/core/outputlayer.cpp
-@@ -50,7 +50,9 @@ QRegion OutputLayer::repaints() const
- void OutputLayer::addRepaint(const QRegion &region)
- {
- m_repaints += region;
-- m_output->renderLoop()->scheduleRepaint(nullptr, nullptr);
-+ if (m_output) {
-+ m_output->renderLoop()->scheduleRepaint(nullptr, nullptr);
-+ }
- }
-
- void OutputLayer::resetRepaints()
---
-GitLab
-
diff --git a/kde-plasma/kwin/files/kwin-6.3.0-lto.patch b/kde-plasma/kwin/files/kwin-6.3.0-lto.patch
deleted file mode 100644
index f73586869130..000000000000
--- a/kde-plasma/kwin/files/kwin-6.3.0-lto.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-https://bugs.kde.org/show_bug.cgi?id=499789
-https://invent.kde.org/plasma/kwin/-/commit/196c95d8bbab6519d0cc742ae3b595081051c08e
-
-From 196c95d8bbab6519d0cc742ae3b595081051c08e Mon Sep 17 00:00:00 2001
-From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
-Date: Sun, 16 Feb 2025 23:53:40 +0200
-Subject: [PATCH] core: Fix initialization of IccProfile::s_connectionSpace
-
-Colorimetry constants can be initialized after IccProfile::s_connectionSpace
-when LTO is enabled. It's okay with the C++ standard.
-
-As a way around it, this change moves the CIEXYZD50 constant to the
-IccProfile where it's actually needed.
-
-We need to reconsider how the constants are defined, e.g. have static
-getters or use constexpr. But as a short term solution, this should be
-fine.
-
-BUG: 499789
-
-Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
-(cherry picked from commit 6d6667fc2a3f0a5e51676be267a5a8e1ce3c1337)
---- a/src/core/colorspace.cpp
-+++ b/src/core/colorspace.cpp
-@@ -400,12 +400,6 @@ static const Colorimetry CIEXYZ = Colorimetry{
- XYZ{0.0, 0.0, 1.0},
- xy{1.0 / 3.0, 1.0 / 3.0}.toXYZ(),
- };
--static const Colorimetry CIEXYZD50 = Colorimetry{
-- XYZ{1.0, 0.0, 0.0},
-- XYZ{0.0, 1.0, 0.0},
-- XYZ{0.0, 0.0, 1.0},
-- XYZ(0.9642, 1.0, 0.8249),
--};
- static const Colorimetry DCIP3 = Colorimetry{
- xy{0.680, 0.320},
- xy{0.265, 0.690},
-@@ -442,8 +436,6 @@ const Colorimetry &Colorimetry::fromName(NamedColorimetry name)
- return BT2020;
- case NamedColorimetry::CIEXYZ:
- return CIEXYZ;
-- case NamedColorimetry::CIEXYZD50:
-- return CIEXYZD50;
- case NamedColorimetry::DCIP3:
- return DCIP3;
- case NamedColorimetry::DisplayP3:
---- a/src/core/colorspace.h
-+++ b/src/core/colorspace.h
-@@ -38,7 +38,6 @@ enum class NamedColorimetry {
- GenericFilm,
- BT2020,
- CIEXYZ,
-- CIEXYZD50,
- DCIP3,
- DisplayP3,
- AdobeRGB
---- a/src/core/iccprofile.cpp
-+++ b/src/core/iccprofile.cpp
-@@ -18,7 +18,14 @@
- namespace KWin
- {
-
--const ColorDescription IccProfile::s_connectionSpace = ColorDescription(Colorimetry::fromName(NamedColorimetry::CIEXYZD50), TransferFunction(TransferFunction::linear, 0, 1), 1, 0, 1, 1);
-+static const Colorimetry CIEXYZD50 = Colorimetry{
-+ XYZ{1.0, 0.0, 0.0},
-+ XYZ{0.0, 1.0, 0.0},
-+ XYZ{0.0, 0.0, 1.0},
-+ XYZ(0.9642, 1.0, 0.8249),
-+};
-+
-+const ColorDescription IccProfile::s_connectionSpace = ColorDescription(CIEXYZD50, TransferFunction(TransferFunction::linear, 0, 1), 1, 0, 1, 1);
-
- IccProfile::IccProfile(cmsHPROFILE handle, const Colorimetry &colorimetry, std::optional<ColorPipeline> &&bToA0Tag, std::optional<ColorPipeline> &&bToA1Tag, const std::shared_ptr<ColorTransformation> &inverseEOTF, const std::shared_ptr<ColorTransformation> &vcgt, std::optional<double> minBrightness, std::optional<double> maxBrightness)
- : m_handle(handle)
---
-GitLab
diff --git a/kde-plasma/kwin/files/kwin-6.3.1-gcc15-workaround.patch b/kde-plasma/kwin/files/kwin-6.3.1-gcc15-workaround.patch
new file mode 100644
index 000000000000..3990682a5f9d
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-6.3.1-gcc15-workaround.patch
@@ -0,0 +1,92 @@
+https://invent.kde.org/plasma/kwin/-/merge_requests/7191
+https://bugs.kde.org/show_bug.cgi?id=500310
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118923
+
+From 4d9a024f1b2f502de9a33024a2a762aefa4007cd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Kacper=20S=C5=82omi=C5=84ski?=
+ <kacper.slominski72@gmail.com>
+Date: Tue, 18 Feb 2025 18:16:59 +0100
+Subject: [PATCH] Factor out {previousRestricted,restricted}MoveArea calls out
+ of loops
+
+This works around a GCC 15 bug that causes KWin to crash.
+
+BUG: 500310
+---
+ src/window.cpp | 24 ++++++++++++++++--------
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/src/window.cpp b/src/window.cpp
+index a05771e90c..1a56560280 100644
+--- a/src/window.cpp
++++ b/src/window.cpp
+@@ -4026,25 +4026,29 @@ void Window::checkWorkspacePosition(QRectF oldGeometry, const VirtualDesktop *ol
+ auto moveAreaFunc = workspace()->inRearrange() ? &Workspace::previousRestrictedMoveArea : //... the restricted areas changed
+ &Workspace::restrictedMoveArea; //... when e.g. active desktop or screen changes
+
+- for (const QRect &r : (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaTop)) {
++ const auto oldRectsTop = (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaTop);
++ for (const QRect &r : oldRectsTop) {
+ QRect rect = r & oldGeomTall;
+ if (!rect.isEmpty()) {
+ oldTopMax = std::max(oldTopMax, rect.y() + rect.height());
+ }
+ }
+- for (const QRect &r : (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaRight)) {
++ const auto oldRectsRight = (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaRight);
++ for (const QRect &r : oldRectsRight) {
+ QRect rect = r & oldGeomWide;
+ if (!rect.isEmpty()) {
+ oldRightMax = std::min(oldRightMax, rect.x());
+ }
+ }
+- for (const QRect &r : (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaBottom)) {
++ const auto oldRectsBottom = (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaBottom);
++ for (const QRect &r : oldRectsBottom) {
+ QRect rect = r & oldGeomTall;
+ if (!rect.isEmpty()) {
+ oldBottomMax = std::min(oldBottomMax, rect.y());
+ }
+ }
+- for (const QRect &r : (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaLeft)) {
++ const auto oldRectsLeft = (workspace()->*moveAreaFunc)(oldDesktop, StrutAreaLeft);
++ for (const QRect &r : oldRectsLeft) {
+ QRect rect = r & oldGeomWide;
+ if (!rect.isEmpty()) {
+ oldLeftMax = std::max(oldLeftMax, rect.x() + rect.width());
+@@ -4052,25 +4056,29 @@ void Window::checkWorkspacePosition(QRectF oldGeometry, const VirtualDesktop *ol
+ }
+
+ // These 4 compute new bounds
+- for (const QRect &r : workspace()->restrictedMoveArea(desktop, StrutAreaTop)) {
++ const auto newRectsTop = workspace()->restrictedMoveArea(desktop, StrutAreaTop);
++ for (const QRect &r : newRectsTop) {
+ QRect rect = r & newGeomTall;
+ if (!rect.isEmpty()) {
+ topMax = std::max(topMax, rect.y() + rect.height());
+ }
+ }
+- for (const QRect &r : workspace()->restrictedMoveArea(desktop, StrutAreaRight)) {
++ const auto newRectsRight = workspace()->restrictedMoveArea(desktop, StrutAreaRight);
++ for (const QRect &r : newRectsRight) {
+ QRect rect = r & newGeomWide;
+ if (!rect.isEmpty()) {
+ rightMax = std::min(rightMax, rect.x());
+ }
+ }
+- for (const QRect &r : workspace()->restrictedMoveArea(desktop, StrutAreaBottom)) {
++ const auto newRectsBottom = workspace()->restrictedMoveArea(desktop, StrutAreaBottom);
++ for (const QRect &r : newRectsBottom) {
+ QRect rect = r & newGeomTall;
+ if (!rect.isEmpty()) {
+ bottomMax = std::min(bottomMax, rect.y());
+ }
+ }
+- for (const QRect &r : workspace()->restrictedMoveArea(desktop, StrutAreaLeft)) {
++ const auto newRectsLeft = workspace()->restrictedMoveArea(desktop, StrutAreaLeft);
++ for (const QRect &r : newRectsLeft) {
+ QRect rect = r & newGeomWide;
+ if (!rect.isEmpty()) {
+ leftMax = std::max(leftMax, rect.x() + rect.width());
+--
+GitLab
diff --git a/kde-plasma/kwin/kwin-6.3.0-r2.ebuild b/kde-plasma/kwin/kwin-6.3.1.ebuild
index 84c11f09990f..26d567553ec5 100644
--- a/kde-plasma/kwin/kwin-6.3.0-r2.ebuild
+++ b/kde-plasma/kwin/kwin-6.3.1.ebuild
@@ -115,8 +115,7 @@ BDEPEND="
FILECAPS=( -m 0755 cap_sys_nice=ep usr/bin/kwin_wayland )
PATCHES=(
- "${FILESDIR}/${P}-crashfix.patch"
- "${FILESDIR}/${P}-lto.patch"
+ "${FILESDIR}"/${P}-gcc15-workaround.patch
)
src_prepare() {