* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2017-10-12 17:57 Johannes Huber
0 siblings, 0 replies; 7+ messages in thread
From: Johannes Huber @ 2017-10-12 17:57 UTC (permalink / raw
To: gentoo-commits
commit: d0cce997bcc505c6731389ccacf8c669205d2af7
Author: Johannes Huber <johu <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 12 17:57:00 2017 +0000
Commit: Johannes Huber <johu <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 17:57:00 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0cce997
kde-plasma/kwin: Add missing patch
Package-Manager: Portage-2.3.11, Repoman-2.3.3
.../kwin/files/kwin-5.10.95-test-optional.patch | 34 ++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/kde-plasma/kwin/files/kwin-5.10.95-test-optional.patch b/kde-plasma/kwin/files/kwin-5.10.95-test-optional.patch
new file mode 100644
index 00000000000..e52934b3ec5
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.10.95-test-optional.patch
@@ -0,0 +1,34 @@
+From 89db55c3983abee3dd42cef3cff2f83e94121be8 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Thu, 14 Sep 2017 10:02:04 +0200
+Subject: [PATCH] Put effectModelTest behind BUILD_TESTING conditional
+
+Qt5Test, so tests need to be too.
+---
+ kcmkwin/kwincompositing/CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/kcmkwin/kwincompositing/CMakeLists.txt b/kcmkwin/kwincompositing/CMakeLists.txt
+index 350ef85de..75758a4a0 100644
+--- a/kcmkwin/kwincompositing/CMakeLists.txt
++++ b/kcmkwin/kwincompositing/CMakeLists.txt
+@@ -46,7 +46,7 @@ target_link_libraries(kwincompositing
+ kwin4_effect_builtins
+ )
+
+-
++if(BUILD_TESTING)
+ set(modelTest_SRC
+ model.cpp
+ effectconfig.cpp
+@@ -77,6 +77,7 @@ target_link_libraries(effectModelTest
+ kwineffects
+ kwin4_effect_builtins
+ )
++endif()
+
+ INSTALL(DIRECTORY qml DESTINATION ${DATA_INSTALL_DIR}/kwincompositing)
+ INSTALL(TARGETS kwincompositing DESTINATION ${PLUGIN_INSTALL_DIR})
+--
+2.13.5
+
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2018-02-03 19:47 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2018-02-03 19:47 UTC (permalink / raw
To: gentoo-commits
commit: 01e476f91b42ffe55c8450490e7f3e88738d1410
Author: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail <DOT> com>
AuthorDate: Sat Feb 3 19:25:15 2018 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 3 19:47:24 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01e476f9
kde-plasma/kwin: remove unused patch
Closes: https://github.com/gentoo/gentoo/pull/7038
.../kwin/files/kwin-5.8.7-glibc-sysmacros.patch | 38 ----------------------
1 file changed, 38 deletions(-)
diff --git a/kde-plasma/kwin/files/kwin-5.8.7-glibc-sysmacros.patch b/kde-plasma/kwin/files/kwin-5.8.7-glibc-sysmacros.patch
deleted file mode 100644
index 61c07feaee3..00000000000
--- a/kde-plasma/kwin/files/kwin-5.8.7-glibc-sysmacros.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-commit 8efef12eeb377e9087551e333d65631968c80e5f
-Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sat Jun 10 17:00:25 2017 +0200
-
- Fix build with future glibc (major/minor macros), BSD compatible
-
- Summary:
- Also adding sys/types.h which is not implicitly included from all over.
-
- Thanks-to: [ade] in #kde-devel
-
- See also:
- https://sourceware.org/ml/libc-alpha/2015-11/msg00452.html
- https://git.reviewboard.kde.org/r/127662/
-
- Reviewers: #plasma
-
- Subscribers: plasma-devel, kwin, #kwin, adridg
-
- Tags: #kwin
-
- Differential Revision: https://phabricator.kde.org/D6175
-
-diff --git a/logind.cpp b/logind.cpp
-index fee0f2ff4..bb84af4f9 100644
---- a/logind.cpp
-+++ b/logind.cpp
-@@ -29,6 +29,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
- #include <QDBusMetaType>
-
- #include <sys/stat.h>
-+#include <sys/types.h>
-+#ifndef major
-+#include <sys/sysmacros.h>
-+#endif
- #include <unistd.h>
- #include "utils.h"
-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2021-10-04 13:12 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2021-10-04 13:12 UTC (permalink / raw
To: gentoo-commits
commit: e5f1554d74e6ef57cf96b7ba67f361c784e645d1
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 4 12:35:58 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 4 13:12:42 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5f1554d
kde-plasma/kwin: Fix build on problematic platforms
Upstream commit df11acd46778e1e43183c2660bc9dcb1a8ad3282
Reported-by: David Flogeras <dflogeras2 <AT> gmail.com>
Closes: https://bugs.gentoo.org/813228
Package-Manager: Portage-3.0.26, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch | 35 +++++++++++++++-------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
index 6db52bdd749..d185d5e41fe 100644
--- a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
+++ b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
@@ -12,15 +12,30 @@ BUG: 440372
* asturm 2021-09-21: Merged with upstream commits:
38e24ecd6416a975db0989c21b70d6a4cc242f35 "Fix build with 32-bit"
e26ea6bf2313c021db7e5ca5454cd8b1e2e2037f "Fix build on 32bit platforms"
+
+* asturm 2021-10-04: Merged with upstream commit:
+From df11acd46778e1e43183c2660bc9dcb1a8ad3282 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Tue, 21 Sep 2021 17:34:59 +0300
+Subject: [PATCH] x11: Cast Window to EGLNativeWindowType using a C cast
+
+reinterpret_cast<>() will fail if the types we cast from and to have
+mismatching sizes.
+
+Unfortunately, there are platforms that have Window and
+EGLNativeWindowType of different size. This results in compilation
+errors.
+
+In order to work around those problematic platforms, this change
+replaces reinterpret_cast cast with a c style cast.
---
- src/plugins/platforms/x11/common/eglonxbackend.cpp | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
+ src/plugins/platforms/x11/common/eglonxbackend.cpp | 16 +++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
-diff --git a/src/plugins/platforms/x11/common/eglonxbackend.cpp b/src/plugins/platforms/x11/common/eglonxbackend.cpp
-index c62ec170d..d2900c7c3 100644
+diff -u a/src/plugins/platforms/x11/common/eglonxbackend.cpp b/src/plugins/platforms/x11/common/eglonxbackend.cpp
--- a/src/plugins/platforms/x11/common/eglonxbackend.cpp
+++ b/src/plugins/platforms/x11/common/eglonxbackend.cpp
-@@ -213,15 +213,16 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t window)
+@@ -213,15 +213,19 @@
return EGL_NO_SURFACE;
}
@@ -38,11 +53,11 @@ index c62ec170d..d2900c7c3 100644
+ surface = eglCreatePlatformWindowSurfaceEXT(eglDisplay(), config(), (void *) &nativeWindow, nullptr);
} else {
- surface = eglCreateWindowSurface(eglDisplay(), config(), window, nullptr);
-+ // eglCreateWindowSurface() expects a Window, not a pointer to the Window.
-+ surface = eglCreateWindowSurface(eglDisplay(), config(), reinterpret_cast<EGLNativeWindowType>(nativeWindow), nullptr);
++ // eglCreateWindowSurface() expects a Window, not a pointer to the Window. Use
++ // a c style cast as there are (buggy) platforms where the size of the Window
++ // type is not the same as the size of EGLNativeWindowType, reinterpret_cast<>()
++ // may not compile.
++ surface = eglCreateWindowSurface(eglDisplay(), config(), (EGLNativeWindowType) nativeWindow, nullptr);
}
return surface;
---
-GitLab
-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2022-09-06 19:24 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2022-09-06 19:24 UTC (permalink / raw
To: gentoo-commits
commit: 94d3952abf74b6be537d462e63ff4e06aba2a0d7
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 6 19:24:11 2022 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 6 19:24:11 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d3952a
kde-plasma/kwin: Drop unused patch
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../files/kwin-5.25.4-drm-fix-blob-updating.patch | 38 ----------------------
1 file changed, 38 deletions(-)
diff --git a/kde-plasma/kwin/files/kwin-5.25.4-drm-fix-blob-updating.patch b/kde-plasma/kwin/files/kwin-5.25.4-drm-fix-blob-updating.patch
deleted file mode 100644
index 282913620c7b..000000000000
--- a/kde-plasma/kwin/files/kwin-5.25.4-drm-fix-blob-updating.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 9a81567777f94e2e6c1a121f1d86dd2bdea83adf Mon Sep 17 00:00:00 2001
-From: Xaver Hugl <xaver.hugl@gmail.com>
-Date: Thu, 4 Aug 2022 15:36:26 +0200
-Subject: [PATCH] backends/drm: fix blob updating
-
-Two things about the code were wrong:
-1. m_current is used in updateBlob() but was only updated afterwards
-2. the assumption that the property having the same ID means it has the
-same blob contents is not always true
-
-BUG: 449285
-
-
-(cherry picked from commit 97939ceae864aef2f50e117496f548555877b4ea)
----
- src/backends/drm/drm_property.cpp | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/backends/drm/drm_property.cpp b/src/backends/drm/drm_property.cpp
-index c9f7718abd..cee80d043a 100644
---- a/src/backends/drm/drm_property.cpp
-+++ b/src/backends/drm/drm_property.cpp
-@@ -112,10 +112,8 @@ bool DrmProperty::needsCommit() const
-
- void DrmProperty::setCurrent(uint64_t value)
- {
-- if (m_current != value) {
-- updateBlob();
-- m_current = value;
-- }
-+ m_current = value;
-+ updateBlob();
- }
-
- uint64_t DrmProperty::current() const
---
-GitLab
-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2023-01-20 14:29 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2023-01-20 14:29 UTC (permalink / raw
To: gentoo-commits
commit: e4463c85aa0567dfff79349fadbc1fe584d0445d
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 20 14:28:42 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jan 20 14:29:00 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4463c85
kde-plasma/kwin: Add missing patch
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../files/kwin-5.26.80-gstreamer-optional.patch | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/kde-plasma/kwin/files/kwin-5.26.80-gstreamer-optional.patch b/kde-plasma/kwin/files/kwin-5.26.80-gstreamer-optional.patch
new file mode 100644
index 000000000000..268d88a09cdb
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.26.80-gstreamer-optional.patch
@@ -0,0 +1,25 @@
+From e15641e466b4802f73b34ea2e510df7f78c50afd Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Tue, 6 Aug 2019 22:36:44 +0200
+Subject: [PATCH] Disable the effect video button if gstreamer is missing
+
+---
+ src/kcms/effects/package/contents/ui/Effect.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kcms/effects/package/contents/ui/Effect.qml b/src/kcms/effects/package/contents/ui/Effect.qml
+index f8a36c03e..ce673728e 100644
+--- a/src/kcms/effects/package/contents/ui/Effect.qml
++++ b/src/kcms/effects/package/contents/ui/Effect.qml
+@@ -116,7 +116,7 @@ Kirigami.SwipeListItem {
+ }
+ actions: [
+ Kirigami.Action {
+- visible: model.VideoRole.toString() !== ""
++ visible: false
+ icon.name: "videoclip-amarok"
+ tooltip: i18nc("@info:tooltip", "Show/Hide Video")
+ onTriggered: videoItem.showHide()
+--
+2.39.0
+
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2023-12-29 1:16 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-12-29 1:16 UTC (permalink / raw
To: gentoo-commits
commit: 580d2472e6ab26fe76ec66fc71421f7f985fee4a
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Fri Dec 29 01:12:46 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 29 01:15:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=580d2472
kde-plasma/kwin: add missing patch for 5.91.0
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/34527
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/kwin-5.90.90-gstreamer-optional.patch | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/kde-plasma/kwin/files/kwin-5.90.90-gstreamer-optional.patch b/kde-plasma/kwin/files/kwin-5.90.90-gstreamer-optional.patch
new file mode 100644
index 000000000000..dfd544af0058
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.90.90-gstreamer-optional.patch
@@ -0,0 +1,25 @@
+From 3b851958984a2028780ee6078004690ca2b0723b Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Tue, 6 Aug 2019 22:36:44 +0200
+Subject: [PATCH] Disable the effect video button if gstreamer is missing
+
+---
+ src/kcms/effects/ui/Effect.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kcms/effects/ui/Effect.qml b/src/kcms/effects/ui/Effect.qml
+index e4a7daca7e..23d32e63a1 100644
+--- a/src/kcms/effects/ui/Effect.qml
++++ b/src/kcms/effects/ui/Effect.qml
+@@ -120,7 +120,7 @@ QQC2.ItemDelegate {
+ }
+
+ QQC2.ToolButton {
+- visible: model.VideoRole.toString() !== ""
++ visible: false
+ icon.name: "videoclip-amarok"
+ text: i18nc("@info:tooltip", "Show/Hide Video")
+ display: QQC2.AbstractButton.IconOnly
+--
+2.43.0
+
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/
@ 2025-02-26 8:55 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2025-02-26 8:55 UTC (permalink / raw
To: gentoo-commits
commit: 0c09ada8cd1de38b5103a979d0ad154f3135917e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 26 08:54:53 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 26 08:54:53 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c09ada8
kde-plasma/kwin: drop unused patches
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../kwin/files/kwin-6.3.1-gcc15-workaround.patch | 92 ------
.../kwin/files/kwin-6.3.2-revert-fix-hang.patch | 307 ---------------------
2 files changed, 399 deletions(-)
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
deleted file mode 100644
index 3990682a5f9d..000000000000
--- a/kde-plasma/kwin/files/kwin-6.3.1-gcc15-workaround.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-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/files/kwin-6.3.2-revert-fix-hang.patch b/kde-plasma/kwin/files/kwin-6.3.2-revert-fix-hang.patch
deleted file mode 100644
index 9b68efb94bec..000000000000
--- a/kde-plasma/kwin/files/kwin-6.3.2-revert-fix-hang.patch
+++ /dev/null
@@ -1,307 +0,0 @@
-https://invent.kde.org/plasma/kwin/-/commit/544f3d1ae355d72cab0f28df5533b67085f85e88
-
-From 544f3d1ae355d72cab0f28df5533b67085f85e88 Mon Sep 17 00:00:00 2001
-From: Xaver Hugl <xaver.hugl@gmail.com>
-Date: Tue, 25 Feb 2025 22:49:06 +0100
-Subject: [PATCH] Revert "workspace: better deal with having more outputs than
- the GPU can drive"
-
-This reverts commit a23949582f05c1db7c9bb3bf7fd0292b7120045d. For some systems it caused
-an infinite loop on startup
---- a/src/backends/drm/drm_backend.cpp
-+++ b/src/backends/drm/drm_backend.cpp
-@@ -367,7 +367,7 @@ size_t DrmBackend::gpuCount() const
- return m_gpus.size();
- }
-
--OutputConfigurationError DrmBackend::applyOutputChanges(const OutputConfiguration &config)
-+bool DrmBackend::applyOutputChanges(const OutputConfiguration &config)
- {
- QList<DrmOutput *> toBeEnabled;
- QList<DrmOutput *> toBeDisabled;
-@@ -386,20 +386,14 @@ OutputConfigurationError DrmBackend::applyOutputChanges(const OutputConfiguratio
- }
- }
- }
-- const auto error = gpu->testPendingConfiguration();
-- if (error != DrmPipeline::Error::None) {
-+ if (gpu->testPendingConfiguration() != DrmPipeline::Error::None) {
- for (const auto &output : std::as_const(toBeEnabled)) {
- output->revertQueuedChanges();
- }
- for (const auto &output : std::as_const(toBeDisabled)) {
- output->revertQueuedChanges();
- }
-- if (error == DrmPipeline::Error::NotEnoughCrtcs) {
-- // TODO make this more specific, this is per GPU!
-- return OutputConfigurationError::TooManyEnabledOutputs;
-- } else {
-- return OutputConfigurationError::Unknown;
-- }
-+ return false;
- }
- }
- // first, apply changes to drm outputs.
-@@ -418,7 +412,7 @@ OutputConfigurationError DrmBackend::applyOutputChanges(const OutputConfiguratio
- for (const auto &output : std::as_const(m_virtualOutputs)) {
- output->applyChanges(config);
- }
-- return OutputConfigurationError::None;
-+ return true;
- }
-
- void DrmBackend::setRenderBackend(DrmRenderBackend *backend)
---- a/src/backends/drm/drm_backend.h
-+++ b/src/backends/drm/drm_backend.h
-@@ -73,7 +73,7 @@ Q_SIGNALS:
- void gpuRemoved(DrmGpu *gpu);
-
- protected:
-- OutputConfigurationError applyOutputChanges(const OutputConfiguration &config) override;
-+ bool applyOutputChanges(const OutputConfiguration &config) override;
-
- private:
- friend class DrmGpu;
---- a/src/backends/drm/drm_gpu.cpp
-+++ b/src/backends/drm/drm_gpu.cpp
-@@ -352,7 +352,7 @@ DrmPipeline::Error DrmGpu::checkCrtcAssignment(QList<DrmConnector *> connectors,
- }
- if (!connectors.empty()) {
- // we have no crtcs left to drive the remaining connectors
-- return DrmPipeline::Error::NotEnoughCrtcs;
-+ return DrmPipeline::Error::InvalidArguments;
- }
- return testPipelines();
- }
-@@ -442,10 +442,6 @@ DrmPipeline::Error DrmGpu::testPendingConfiguration()
- output->cursorLayer()->setEnabled(false);
- }
- }
-- if (connectors.size() > crtcs.size()) {
-- // this can't work, we can return early
-- return DrmPipeline::Error::NotEnoughCrtcs;
-- }
- return checkCrtcAssignment(connectors, crtcs);
- }
-
---- a/src/backends/drm/drm_pipeline.h
-+++ b/src/backends/drm/drm_pipeline.h
-@@ -48,7 +48,6 @@ public:
- NoPermission,
- FramePending,
- TestBufferFailed,
-- NotEnoughCrtcs,
- Unknown,
- };
- Q_ENUM(Error)
---- a/src/core/outputbackend.cpp
-+++ b/src/core/outputbackend.cpp
-@@ -43,7 +43,7 @@ std::unique_ptr<QPainterBackend> OutputBackend::createQPainterBackend()
- return nullptr;
- }
-
--OutputConfigurationError OutputBackend::applyOutputChanges(const OutputConfiguration &config)
-+bool OutputBackend::applyOutputChanges(const OutputConfiguration &config)
- {
- const auto availableOutputs = outputs();
- QList<Output *> toBeEnabledOutputs;
-@@ -63,7 +63,7 @@ OutputConfigurationError OutputBackend::applyOutputChanges(const OutputConfigura
- for (const auto &output : toBeDisabledOutputs) {
- output->applyChanges(config);
- }
-- return OutputConfigurationError::None;
-+ return true;
- }
-
- Output *OutputBackend::findOutput(const QString &name) const
---- a/src/core/outputbackend.h
-+++ b/src/core/outputbackend.h
-@@ -92,7 +92,7 @@ public:
- /**
- * Applies the output changes. Default implementation only sets values common between platforms
- */
-- virtual OutputConfigurationError applyOutputChanges(const OutputConfiguration &config);
-+ virtual bool applyOutputChanges(const OutputConfiguration &config);
-
- virtual Session *session() const;
-
---- a/src/effect/globals.h
-+++ b/src/effect/globals.h
-@@ -451,12 +451,6 @@ enum WindowTypeMask {
- };
- Q_DECLARE_FLAGS(WindowTypes, WindowTypeMask)
-
--enum class OutputConfigurationError {
-- None,
-- Unknown,
-- TooManyEnabledOutputs,
--};
--
- } // namespace
-
- Q_DECLARE_METATYPE(std::chrono::nanoseconds)
---- a/src/wayland/outputmanagement_v2.cpp
-+++ b/src/wayland/outputmanagement_v2.cpp
-@@ -487,15 +487,11 @@ void OutputConfigurationV2Interface::kde_output_configuration_v2_apply(Resource
- return pair.second->handle();
- });
- }
-- switch (workspace()->applyOutputConfiguration(config, sortedOrder)) {
-- case OutputConfigurationError::None:
-+ if (workspace()->applyOutputConfiguration(config, sortedOrder)) {
- send_applied();
-- break;
-- case OutputConfigurationError::Unknown:
-- case OutputConfigurationError::TooManyEnabledOutputs:
-+ } else {
- // TODO provide a more accurate error reason once the driver actually gives us anything
- sendFailure(resource, i18n("The driver rejected the output configuration"));
-- break;
- }
- }
-
---- a/src/workspace.cpp
-+++ b/src/workspace.cpp
-@@ -496,11 +496,10 @@ Workspace::~Workspace()
- _self = nullptr;
- }
-
--OutputConfigurationError Workspace::applyOutputConfiguration(const OutputConfiguration &config, const std::optional<QList<Output *>> &outputOrder)
-+bool Workspace::applyOutputConfiguration(const OutputConfiguration &config, const std::optional<QList<Output *>> &outputOrder)
- {
-- auto error = kwinApp()->outputBackend()->applyOutputChanges(config);
-- if (error != OutputConfigurationError::None) {
-- return error;
-+ if (!kwinApp()->outputBackend()->applyOutputChanges(config)) {
-+ return false;
- }
- updateOutputs(outputOrder);
- m_outputConfigStore->storeConfig(kwinApp()->outputBackend()->outputs(), m_lidSwitchTracker->isLidClosed(), config, m_outputOrder);
-@@ -523,7 +522,7 @@ OutputConfigurationError Workspace::applyOutputConfiguration(const OutputConfigu
- output->renderLoop()->scheduleRepaint();
- }
-
-- return OutputConfigurationError::None;
-+ return true;
- }
-
- void Workspace::updateOutputConfiguration()
-@@ -540,12 +539,6 @@ void Workspace::updateOutputConfiguration()
- return;
- }
-
-- assignBrightnessDevices();
--
-- const bool alreadyHaveEnabledOutputs = std::ranges::any_of(outputs, [](Output *o) {
-- return o->isEnabled();
-- });
--
- // Update the output order to a fallback list, to avoid dangling pointers
- const auto setFallbackOutputOrder = [this, &outputs]() {
- auto newOrder = outputs;
-@@ -559,62 +552,40 @@ void Workspace::updateOutputConfiguration()
- setOutputOrder(newOrder);
- };
-
-- QList<Output *> toEnable = outputs;
-- OutputConfigurationError error = OutputConfigurationError::None;
-- do {
-- auto opt = m_outputConfigStore->queryConfig(toEnable, m_lidSwitchTracker->isLidClosed(), m_orientationSensor->reading(), kwinApp()->tabletModeManager()->effectiveTabletMode());
-- if (!opt) {
-- return;
-- }
-- auto &[cfg, order, type] = *opt;
-+ auto opt = m_outputConfigStore->queryConfig(outputs, m_lidSwitchTracker->isLidClosed(), m_orientationSensor->reading(), kwinApp()->tabletModeManager()->effectiveTabletMode());
-+ if (!opt) {
-+ return;
-+ }
-+ auto &[cfg, order, type] = *opt;
-
-- for (const auto &output : outputs) {
-- if (!toEnable.contains(output)) {
-- cfg.changeSet(output)->enabled = false;
-- }
-- }
-- for (Output *output : std::as_const(toEnable)) {
-- const auto changeset = cfg.changeSet(output);
-- if (output->brightnessDevice() && changeset->allowSdrSoftwareBrightness.value_or(true)) {
-- changeset->allowSdrSoftwareBrightness = false;
-- changeset->brightness = output->brightnessDevice()->observedBrightness();
-- }
-+ assignBrightnessDevices();
-+ for (Output *output : outputs) {
-+ const auto changeset = cfg.changeSet(output);
-+ if (output->brightnessDevice() && changeset->allowSdrSoftwareBrightness.value_or(true)) {
-+ changeset->allowSdrSoftwareBrightness = false;
-+ changeset->brightness = output->brightnessDevice()->observedBrightness();
- }
-+ }
-
-- error = applyOutputConfiguration(cfg, order);
-- switch (error) {
-- case OutputConfigurationError::None:
-- setOutputOrder(order);
-- if (type == OutputConfigurationStore::ConfigType::Generated) {
-- const bool hasInternal = std::any_of(outputs.begin(), outputs.end(), [](Output *o) {
-- return o->isInternal();
-- });
-- if (hasInternal && outputs.size() == 2) {
-- // show the OSD with output configuration presets
-- QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.kde.kscreen.osdService"),
-- QStringLiteral("/org/kde/kscreen/osdService"),
-- QStringLiteral("org.kde.kscreen.osdService"),
-- QStringLiteral("showActionSelector"));
-- QDBusConnection::sessionBus().asyncCall(message);
-- }
-- }
-- return;
-- case OutputConfigurationError::Unknown:
-- qCWarning(KWIN_CORE) << "Applying output config failed!";
-- setFallbackOutputOrder();
-- return;
-- case OutputConfigurationError::TooManyEnabledOutputs:
-- if (alreadyHaveEnabledOutputs) {
-- // just keeping the old output configuration is preferable
-- break;
-- }
-- toEnable.removeLast();
-- break;
-+ if (!applyOutputConfiguration(cfg, order)) {
-+ qCWarning(KWIN_CORE) << "Applying output config failed!";
-+ setFallbackOutputOrder();
-+ return;
-+ }
-+ setOutputOrder(order);
-+ if (type == OutputConfigurationStore::ConfigType::Generated) {
-+ const bool hasInternal = std::any_of(outputs.begin(), outputs.end(), [](Output *o) {
-+ return o->isInternal();
-+ });
-+ if (hasInternal && outputs.size() == 2) {
-+ // show the OSD with output configuration presets
-+ QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.kde.kscreen.osdService"),
-+ QStringLiteral("/org/kde/kscreen/osdService"),
-+ QStringLiteral("org.kde.kscreen.osdService"),
-+ QStringLiteral("showActionSelector"));
-+ QDBusConnection::sessionBus().asyncCall(message);
- }
-- } while (error == OutputConfigurationError::TooManyEnabledOutputs && !toEnable.isEmpty());
--
-- qCCritical(KWIN_CORE, "Applying output configuration failed!");
-- setFallbackOutputOrder();
-+ }
- }
-
- void Workspace::setupWindowConnections(Window *window)
---- a/src/workspace.h
-+++ b/src/workspace.h
-@@ -466,7 +466,7 @@ public:
- * Apply the requested output configuration. Note that you must use this function
- * instead of Platform::applyOutputChanges().
- */
-- OutputConfigurationError applyOutputConfiguration(const OutputConfiguration &config, const std::optional<QList<Output *>> &outputOrder = std::nullopt);
-+ bool applyOutputConfiguration(const OutputConfiguration &config, const std::optional<QList<Output *>> &outputOrder = std::nullopt);
-
- public Q_SLOTS:
- void performWindowOperation(KWin::Window *window, Options::WindowOperation op);
---
-GitLab
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-02-26 8:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-26 8:55 [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2023-12-29 1:16 Sam James
2023-01-20 14:29 Andreas Sturmlechner
2022-09-06 19:24 Andreas Sturmlechner
2021-10-04 13:12 Andreas Sturmlechner
2018-02-03 19:47 Andreas Sturmlechner
2017-10-12 17:57 Johannes Huber
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox