[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2024-03-08 Thread Andreas Sturmlechner
commit: c8d1666f0c223f9a93c7da7820e0a687b1db67b1
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Thu Mar  7 23:53:34 2024 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Fri Mar  8 20:42:28 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8d1666f

kde-plasma/kwin: Drop dev-qt/qtmultimedia[gstreamer] USEdep

Qt6Multimedia ensures a video backend is available, w/ ffmpeg as default.

Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../files/kwin-5.90.90-gstreamer-optional.patch| 25 --
 .../{kwin-6.0.1-r1.ebuild => kwin-6.0.1-r2.ebuild} | 15 +++--
 kde-plasma/kwin/metadata.xml   |  1 +
 3 files changed, 10 insertions(+), 31 deletions(-)

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
deleted file mode 100644
index dfd544af0058..
--- a/kde-plasma/kwin/files/kwin-5.90.90-gstreamer-optional.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3b851958984a2028780ee6078004690ca2b0723b Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner 
-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
-

diff --git a/kde-plasma/kwin/kwin-6.0.1-r1.ebuild 
b/kde-plasma/kwin/kwin-6.0.1-r2.ebuild
similarity index 93%
rename from kde-plasma/kwin/kwin-6.0.1-r1.ebuild
rename to kde-plasma/kwin/kwin-6.0.1-r2.ebuild
index 0968b936c57a..cb808dc2ddd8 100644
--- a/kde-plasma/kwin/kwin-6.0.1-r1.ebuild
+++ b/kde-plasma/kwin/kwin-6.0.1-r2.ebuild
@@ -15,7 +15,7 @@ DESCRIPTION="Flexible, composited Window Manager for 
windowing systems on Linux"
 LICENSE="GPL-2+"
 SLOT="6"
 KEYWORDS="~amd64"
-IUSE="accessibility caps gles2-only lock multimedia screencast +shortcuts"
+IUSE="accessibility caps gles2-only lock screencast +shortcuts"
 
 RESTRICT="test"
 
@@ -78,15 +78,19 @@ COMMON_DEPEND="
 RDEPEND="${COMMON_DEPEND}
!kde-plasma/kdeplasma-addons:5
!kde-plasma/kwayland-server
+   >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+   || (
+   dev-qt/qtmultimedia:6[ffmpeg]
+   (
+   dev-qt/qtmultimedia:6[gstreamer]
+   media-plugins/gst-plugins-soup:1.0
+   )
+   )
>=kde-frameworks/kirigami-${KFMIN}:6
>=kde-frameworks/kitemmodels-${KFMIN}:6
>=kde-plasma/libplasma-${PVCUT}:6[wayland]
sys-apps/hwdata
x11-base/xwayland
-   multimedia? (
-   >=dev-qt/qtmultimedia-${QTMIN}:6[gstreamer,qml]
-   media-plugins/gst-plugins-soup:1.0
-   )
 "
 DEPEND="${COMMON_DEPEND}
>=dev-libs/plasma-wayland-protocols-1.11.1
@@ -108,7 +112,6 @@ PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
 
 src_prepare() {
ecm_src_prepare
-   use multimedia || eapply 
"${FILESDIR}/${PN}-5.90.90-gstreamer-optional.patch"
 
# TODO: try to get a build switch upstreamed
if ! use screencast; then

diff --git a/kde-plasma/kwin/metadata.xml b/kde-plasma/kwin/metadata.xml
index 74751f22f2b9..4903bdce5a1e 100644
--- a/kde-plasma/kwin/metadata.xml
+++ b/kde-plasma/kwin/metadata.xml
@@ -11,6 +11,7 @@

Enable screen locking via 
kde-plasma/kscreenlocker
Enable effect video button in desktop 
effects KCM
+   Enable screencast portal using 
media-video/pipewire
Enable global shortcuts support via 
kde-plasma/kglobalacceld

 



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2023-11-11 Thread Andreas Sturmlechner
commit: 67f76e16dd6a1e9038fcc22317bf761f1a128140
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Fri Nov 10 21:17:46 2023 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sat Nov 11 08:36:20 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67f76e16

kde-plasma/kwin: xdgshellwindow: enforce a minimum size for clients

KDE-Bug: https://bugs.kde.org/469237

Signed-off-by: Andreas Sturmlechner  gentoo.org>

 ...in-5.27.9-xdgshellwindow-enforce-min-size.patch | 71 ++
 kde-plasma/kwin/kwin-5.27.9-r1.ebuild  |  2 +
 2 files changed, 73 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.27.9-xdgshellwindow-enforce-min-size.patch 
b/kde-plasma/kwin/files/kwin-5.27.9-xdgshellwindow-enforce-min-size.patch
new file mode 100644
index ..471a37a3e0bd
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.9-xdgshellwindow-enforce-min-size.patch
@@ -0,0 +1,71 @@
+From 0900264e6f538ff915186b1bd9e528e568b28c1d Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Wed, 23 Aug 2023 21:51:18 +0200
+Subject: [PATCH] xdgshellwindow: enforce a minimum size for clients
+
+It doesn't make sense for a window to become 1x1 pixels small. When we have
+server side decorations we also know that the decoration takes a lot of
+space, so this commit enforces a bigger minimum size for decorated windows
+
+BUG: 469237
+
+
+(cherry picked from commit 28c27609a4b45cf08b53dcc7dfe90f23c3338797)
+---
+ autotests/integration/xdgshellwindow_test.cpp | 8 
+ src/xdgshellwindow.cpp| 3 ++-
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/autotests/integration/xdgshellwindow_test.cpp 
b/autotests/integration/xdgshellwindow_test.cpp
+index 70716e49434..53489a27f6b 100644
+--- a/autotests/integration/xdgshellwindow_test.cpp
 b/autotests/integration/xdgshellwindow_test.cpp
+@@ -375,12 +375,12 @@ void TestXdgShellWindow::testFullscreen()
+ QVERIFY(surfaceConfigureRequestedSpy.wait());
+ 
+ 
shellSurface->xdgSurface()->ack_configure(surfaceConfigureRequestedSpy.last().at(0).value());
+-auto window = Test::renderAndWaitForShown(surface.get(), QSize(100, 50), 
Qt::blue);
++auto window = Test::renderAndWaitForShown(surface.get(), QSize(500, 250), 
Qt::blue);
+ QVERIFY(window);
+ QVERIFY(window->isActive());
+ QCOMPARE(window->layer(), NormalLayer);
+ QVERIFY(!window->isFullScreen());
+-QCOMPARE(window->clientSize(), QSize(100, 50));
++QCOMPARE(window->clientSize(), QSize(500, 250));
+ QCOMPARE(window->isDecorated(), decoMode == 
Test::XdgToplevelDecorationV1::mode_server_side);
+ QCOMPARE(window->clientSizeToFrameSize(window->clientSize()), 
window->size());
+ 
+@@ -417,14 +417,14 @@ void TestXdgShellWindow::testFullscreen()
+ QCOMPARE(surfaceConfigureRequestedSpy.count(), 4);
+ states = 
toplevelConfigureRequestedSpy.last().at(1).value();
+ QVERIFY(!(states & Test::XdgToplevel::State::Fullscreen));
+-QCOMPARE(toplevelConfigureRequestedSpy.last().at(0).value(), 
QSize(100, 50));
++QCOMPARE(toplevelConfigureRequestedSpy.last().at(0).value(), 
QSize(500, 250));
+ 
+ 
shellSurface->xdgSurface()->ack_configure(surfaceConfigureRequestedSpy.last().at(0).value());
+ Test::render(surface.get(), 
toplevelConfigureRequestedSpy.last().at(0).value(), Qt::blue);
+ 
+ QVERIFY(fullScreenChangedSpy.wait());
+ QCOMPARE(fullScreenChangedSpy.count(), 2);
+-QCOMPARE(window->clientSize(), QSize(100, 50));
++QCOMPARE(window->clientSize(), QSize(500, 250));
+ QVERIFY(!window->isFullScreen());
+ QCOMPARE(window->isDecorated(), decoMode == 
Test::XdgToplevelDecorationV1::mode_server_side);
+ QCOMPARE(window->layer(), NormalLayer);
+diff --git a/src/xdgshellwindow.cpp b/src/xdgshellwindow.cpp
+index 34201bdd05b..29d8623cac3 100644
+--- a/src/xdgshellwindow.cpp
 b/src/xdgshellwindow.cpp
+@@ -600,7 +600,8 @@ MaximizeMode XdgToplevelWindow::requestedMaximizeMode() 
const
+ 
+ QSizeF XdgToplevelWindow::minSize() const
+ {
+-return rules()->checkMinSize(m_shellSurface->minimumSize());
++const int enforcedMinimum = m_nextDecoration ? 150 : 20;
++return rules()->checkMinSize(QSize(std::max(enforcedMinimum, 
m_shellSurface->minimumSize().width()), std::max(enforcedMinimum, 
m_shellSurface->minimumSize().height(;
+ }
+ 
+ QSizeF XdgToplevelWindow::maxSize() const
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.27.9-r1.ebuild 
b/kde-plasma/kwin/kwin-5.27.9-r1.ebuild
index 8f4aa4f45ebd..348e6879fbc6 100644
--- a/kde-plasma/kwin/kwin-5.27.9-r1.ebuild
+++ b/kde-plasma/kwin/kwin-5.27.9-r1.ebuild
@@ -100,6 +100,8 @@ BDEPEND="
 "
 PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
 
+PATCHES=( "${FILESDIR}/${P}-xdgshellwindow-enforce-min-size.patch" ) # KDE-bug 
469237
+
 src_prepare() {
ecm_src_prepare
use multimedia || eapply 
"${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2023-09-20 Thread Andreas Sturmlechner
commit: b517cf86803c3a30dc305b34cfaeecd344c1150a
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Wed Sep 20 09:09:52 2023 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Sep 20 13:14:52 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b517cf86

kde-plasma/kwin: Add missing patch

Signed-off-by: Andreas Sturmlechner  gentoo.org>

 kde-plasma/kwin/files/kwin-5.27.8-cmake.patch | 40 +++
 kde-plasma/kwin/kwin-5.27.8-r1.ebuild |  2 ++
 2 files changed, 42 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.8-cmake.patch 
b/kde-plasma/kwin/files/kwin-5.27.8-cmake.patch
new file mode 100644
index ..4c4634140be9
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.8-cmake.patch
@@ -0,0 +1,40 @@
+From bd41dd93f37df79c7e14293c26dbff5abe5e4ce4 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Tue, 21 Mar 2023 20:31:44 +0200
+Subject: [PATCH] Drop unused kitemviews dependency
+
+Seems unused. KWin compiles fine without it.
+
+(cherry picked from commit 2c0acdca11dd25b0a3d5de8125c61d3523e83fbd)
+---
+ CMakeLists.txt  | 1 -
+ src/kcms/scripts/CMakeLists.txt | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f98937161f..d49f8a9471 100644
+--- a/CMakeLists.txt
 b/CMakeLists.txt
+@@ -90,7 +90,6 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
+ NewStuff
+ Service
+ XmlGui
+-ItemViews
+ )
+ 
+ find_package(Threads)
+diff --git a/src/kcms/scripts/CMakeLists.txt b/src/kcms/scripts/CMakeLists.txt
+index 66966d6d46..fd7a368a97 100644
+--- a/src/kcms/scripts/CMakeLists.txt
 b/src/kcms/scripts/CMakeLists.txt
+@@ -18,7 +18,6 @@ target_link_libraries(kcm_kwin_scripts
+ KF5::NewStuffWidgets
+ KF5::Package
+ KF5::QuickAddons
+-KF5::ItemViews
+ )
+ 
+ kpackage_install_package(package kcm_kwin_scripts kcms)
+-- 
+2.42.0
+

diff --git a/kde-plasma/kwin/kwin-5.27.8-r1.ebuild 
b/kde-plasma/kwin/kwin-5.27.8-r1.ebuild
index 987500c11e15..9a17232d63c3 100644
--- a/kde-plasma/kwin/kwin-5.27.8-r1.ebuild
+++ b/kde-plasma/kwin/kwin-5.27.8-r1.ebuild
@@ -100,6 +100,8 @@ BDEPEND="
 "
 PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
 
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) # bug 914143
+
 src_prepare() {
ecm_src_prepare
use multimedia || eapply 
"${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2023-06-27 Thread Andreas Sturmlechner
commit: 0064478e953065c8b786ed6ef52dbe6132cfdb2a
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Tue Jun 27 07:26:45 2023 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Tue Jun 27 11:25:39 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0064478e

kde-plasma/kwin: Backport various 5.27.7 fixes

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=469625
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=471285
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=444665
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=471139

Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../files/kwin-5.27.6-fix-crash-after-login.patch  |  36 +
 .../kwin-5.27.6-fix-crash-click-on-tooltip.patch   |  34 +
 6-fix-effect-to-only-apply-behind-window.patch |  98 ++
 ...7.6-fix-locale1-use-after-free-xkb_keymap.patch |  57 
 kde-plasma/kwin/kwin-5.27.6-r1.ebuild  | 145 +
 5 files changed, 370 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.6-fix-crash-after-login.patch 
b/kde-plasma/kwin/files/kwin-5.27.6-fix-crash-after-login.patch
new file mode 100644
index ..130bcca50cdf
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.6-fix-crash-after-login.patch
@@ -0,0 +1,36 @@
+From ed916ff21629f3e91ee987552d778b1a65d66702 Mon Sep 17 00:00:00 2001
+From: David Edmundson 
+Date: Sat, 17 Jun 2023 13:01:43 +0100
+Subject: [PATCH] effects: Make OpenGL context current before deleting
+ framebuffer
+
+When we delete a window we unredirect, when we unredirect, we delete the
+framebuffer which requires an openGL context.
+
+handleWindowDeleted is the entry point from workspace events to effects
+code, so it's made current here.
+
+BUG: 444665
+BUG: 471139
+
+
+(cherry picked from commit c5a29b4b66c001c49c5bcf9aa9250d8322eefbbd)
+---
+ src/libkwineffects/kwinoffscreeneffect.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/libkwineffects/kwinoffscreeneffect.cpp 
b/src/libkwineffects/kwinoffscreeneffect.cpp
+index 82abea675c1..d1bd2921576 100644
+--- a/src/libkwineffects/kwinoffscreeneffect.cpp
 b/src/libkwineffects/kwinoffscreeneffect.cpp
+@@ -238,6 +238,7 @@ void OffscreenEffect::handleWindowDamaged(EffectWindow 
*window)
+ 
+ void OffscreenEffect::handleWindowDeleted(EffectWindow *window)
+ {
++effects->makeOpenGLContextCurrent();
+ unredirect(window);
+ }
+ 
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.27.6-fix-crash-click-on-tooltip.patch 
b/kde-plasma/kwin/files/kwin-5.27.6-fix-crash-click-on-tooltip.patch
new file mode 100644
index ..b8384cd9abed
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.6-fix-crash-click-on-tooltip.patch
@@ -0,0 +1,34 @@
+From 21d193506851e0727860927ab289869732b06102 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Wed, 21 Jun 2023 12:39:15 +0200
+Subject: [PATCH] input: don't crash if the internal handle is nullptr
+
+Pointer focus can stay on a closed tooltip while focus updates are blocked,
+so this needs to be checked for
+
+BUG: 471285
+
+
+(cherry picked from commit c25aaa2c9fbf8ec10f1ba16fecd4b31704fdaf0c)
+---
+ src/input.cpp | 4 
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/input.cpp b/src/input.cpp
+index b4940f123ad..d3d32020580 100644
+--- a/src/input.cpp
 b/src/input.cpp
+@@ -1185,6 +1185,10 @@ class InternalWindowEventFilter : public 
InputEventFilter
+ return false;
+ }
+ QWindow *internal = static_cast(input()->pointer()->focus())->handle();
++if (!internal) {
++// the handle can be nullptr if the tooltip gets closed while 
focus updates are blocked
++return false;
++}
+ QMouseEvent mouseEvent(event->type(),
+event->pos() - internal->position(),
+event->globalPos(),
+-- 
+GitLab
+

diff --git 
a/kde-plasma/kwin/files/kwin-5.27.6-fix-effect-to-only-apply-behind-window.patch
 
b/kde-plasma/kwin/files/kwin-5.27.6-fix-effect-to-only-apply-behind-window.patch
new file mode 100644
index ..b2c8c026316b
--- /dev/null
+++ 
b/kde-plasma/kwin/files/kwin-5.27.6-fix-effect-to-only-apply-behind-window.patch
@@ -0,0 +1,98 @@
+From 69151896615ec272d78860b2ef42e61657f435f1 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Thu, 22 Jun 2023 11:35:27 +0200
+Subject: [PATCH] plugins/backgroundcontrast,blur: ensure the effect is only
+ applied behind the window
+
+When a window is translated and/or scaled, the effect must be strictly behind 
the
+window and never beyond it, as that is very noticeable.
+
+BUG: 469625
+(cherry picked from commit cd94cdaf3a04227073c3f99833139a712d195d3a)
+---
+ src/effects/backgroundcontrast/contrast.cpp | 22 +
+ src/effects/blur/blur.cpp   | 19 --
+ 2 files changed, 27 insertions(+), 14 deletions(-)
+
+diff --git a/src/effects/backgroundcontrast/contrast.cpp 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2023-05-10 Thread Andreas Sturmlechner
commit: fe3af7c0cfd84c05208d9d18ec89e8c84b6e1da3
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Wed May 10 11:27:43 2023 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed May 10 11:37:04 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe3af7c0

kde-plasma/kwin: Fix xcbutils nativeFloor

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=459373

Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../kwin-5.27.5-fix-xcbutils-nativeFloor.patch |  32 +
 kde-plasma/kwin/kwin-5.27.5-r1.ebuild  | 141 +
 2 files changed, 173 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.5-fix-xcbutils-nativeFloor.patch 
b/kde-plasma/kwin/files/kwin-5.27.5-fix-xcbutils-nativeFloor.patch
new file mode 100644
index ..97fed89af956
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.5-fix-xcbutils-nativeFloor.patch
@@ -0,0 +1,32 @@
+From 2237391e979b2423462bb5eaf1fdf4c0876f7476 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Wed, 10 May 2023 12:28:24 +0200
+Subject: [PATCH] xcbutils: fix nativeFloor
+
+The floor was not done in the X-native coordinate space but with double
+scaling
+
+BUG: 459373
+
+
+(cherry picked from commit a48c98f5aba71fab8bc1e1d5dd18668833631920)
+---
+ src/utils/xcbutils.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/utils/xcbutils.cpp b/src/utils/xcbutils.cpp
+index cea0ef7c894..9731f483c0b 100644
+--- a/src/utils/xcbutils.cpp
 b/src/utils/xcbutils.cpp
+@@ -646,7 +646,7 @@ QSizeF fromXNative(const QSize )
+ 
+ static qreal nativeFloor(qreal value)
+ {
+-return std::floor(value / kwinApp()->xwaylandScale()) * 
kwinApp()->xwaylandScale();
++return std::floor(value * kwinApp()->xwaylandScale()) / 
kwinApp()->xwaylandScale();
+ }
+ 
+ QRectF nativeFloor(const QRectF )
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.27.5-r1.ebuild 
b/kde-plasma/kwin/kwin-5.27.5-r1.ebuild
new file mode 100644
index ..1cb246c16ea3
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.27.5-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.102.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.7
+VIRTUALX_REQUIRED="test"
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on 
Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only lock multimedia plasma screencast"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+   >=dev-libs/libinput-1.19
+   >=dev-libs/wayland-1.21.0
+   >=dev-qt/qtconcurrent-${QTMIN}:5
+   >=dev-qt/qtdbus-${QTMIN}:5
+   >=dev-qt/qtdeclarative-${QTMIN}:5
+   >=dev-qt/qtgui-${QTMIN}:5=[egl,gles2-only=,libinput]
+   >=dev-qt/qtwayland-${QTMIN}:5
+   >=dev-qt/qtwidgets-${QTMIN}:5
+   >=dev-qt/qtx11extras-${QTMIN}:5
+   >=kde-frameworks/kactivities-${KFMIN}:5
+   >=kde-frameworks/kauth-${KFMIN}:5
+   >=kde-frameworks/kcmutils-${KFMIN}:5
+   >=kde-frameworks/kconfig-${KFMIN}:5[qml]
+   >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+   >=kde-frameworks/kcoreaddons-${KFMIN}:5
+   >=kde-frameworks/kcrash-${KFMIN}:5
+   >=kde-frameworks/kdbusaddons-${KFMIN}:5
+   >=kde-frameworks/kdeclarative-${KFMIN}:5
+   >=kde-frameworks/kglobalaccel-${KFMIN}:5=[X]
+   >=kde-frameworks/ki18n-${KFMIN}:5
+   >=kde-frameworks/kidletime-${KFMIN}:5=
+   >=kde-frameworks/kitemviews-${KFMIN}:5
+   >=kde-frameworks/knewstuff-${KFMIN}:5
+   >=kde-frameworks/knotifications-${KFMIN}:5
+   >=kde-frameworks/kpackage-${KFMIN}:5
+   >=kde-frameworks/kservice-${KFMIN}:5
+   >=kde-frameworks/kwayland-${KFMIN}:5
+   >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+   >=kde-frameworks/kwindowsystem-${KFMIN}:5=[X]
+   >=kde-frameworks/kxmlgui-${KFMIN}:5
+   >=kde-frameworks/plasma-${KFMIN}:5
+   >=kde-plasma/breeze-${PVCUT}:5
+   >=kde-plasma/kdecoration-${PVCUT}:5
+   media-libs/fontconfig
+   media-libs/freetype
+   media-libs/lcms:2
+   media-libs/libepoxy
+   media-libs/libglvnd
+   >=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
+   virtual/libudev:=
+   x11-libs/libX11
+   x11-libs/libXi
+   >=x11-libs/libdrm-2.4.112
+   >=x11-libs/libxcb-1.10
+   >=x11-libs/libxcvt-0.1.1
+   >=x11-libs/libxkbcommon-1.5.0
+   x11-libs/xcb-util-cursor
+   x11-libs/xcb-util-image
+   x11-libs/xcb-util-keysyms
+   x11-libs/xcb-util-wm
+   accessibility? ( media-libs/libqaccessibilityclient:5 )
+   caps? ( sys-libs/libcap )
+   gles2-only? ( media-libs/mesa[gles2] )
+   lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:5 )
+   plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+   screencast? ( >=media-video/pipewire-0.3:= )
+"

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2022-10-28 Thread Andreas Sturmlechner
commit: 8834995e038f4e3c40091ad86bf61e65befb3cb4
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Fri Oct 28 16:05:58 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Fri Oct 28 16:07:03 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8834995e

kde-plasma/kwin: Backport several 5.26.3 fixes

KDE-bugs:
https://bugs.kde.org/show_bug.cgi?id=461032
https://bugs.kde.org/show_bug.cgi?id=45
https://bugs.kde.org/show_bug.cgi?id=460980

Plus upstream commit 2465dfe8ce94e1afeed3e3210adef9019e76383b

Signed-off-by: Andreas Sturmlechner  gentoo.org>

 ...nager-emit-timing-chang-only-when-changed.patch | 147 +
 ...kwin-5.26.2.1-x11-dont-force-QT_NO_GLIB-1.patch |  34 +
 ...26.2.1-x11-dont-force-QT_QPA_PLATFORM-xcb.patch |  30 +
 ...in-5.26.2.1-x11window-fix-maximise-freeze.patch |  35 +
 kde-plasma/kwin/kwin-5.26.2.1-r1.ebuild| 146 
 5 files changed, 392 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch
 
b/kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch
new file mode 100644
index ..4378d850c6ba
--- /dev/null
+++ 
b/kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch
@@ -0,0 +1,147 @@
+From 2465dfe8ce94e1afeed3e3210adef9019e76383b Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik 
+Date: Fri, 28 Oct 2022 10:28:32 +0200
+Subject: [PATCH] nightcolormanager: Emit timing change only when they have
+ actually changed
+
+Avoids pointless DBus traffic.
+
+Signed-off-by: Victoria Fischer 
+
+
+(cherry picked from commit 0902d91a4254c4b3076e07b8479bb516884b21e4)
+---
+ src/plugins/nightcolor/nightcolormanager.cpp | 93 ++--
+ 1 file changed, 47 insertions(+), 46 deletions(-)
+
+diff --git a/src/plugins/nightcolor/nightcolormanager.cpp 
b/src/plugins/nightcolor/nightcolormanager.cpp
+index ffa8ee8291..725623ed87 100644
+--- a/src/plugins/nightcolor/nightcolormanager.cpp
 b/src/plugins/nightcolor/nightcolormanager.cpp
+@@ -518,17 +518,15 @@ void NightColorManager::updateTargetTemperature()
+ 
+ void NightColorManager::updateTransitionTimings(bool force)
+ {
++const auto oldPrev = m_prev;
++const auto oldNext = m_next;
++
+ if (m_mode == NightColorMode::Constant) {
+ m_next = DateTimes();
+ m_prev = DateTimes();
+-Q_EMIT previousTransitionTimingsChanged();
+-Q_EMIT scheduledTransitionTimingsChanged();
+-return;
+-}
+-
+-const QDateTime todayNow = QDateTime::currentDateTime();
++} else if (m_mode == NightColorMode::Timings) {
++const QDateTime todayNow = QDateTime::currentDateTime();
+ 
+-if (m_mode == NightColorMode::Timings) {
+ const QDateTime nextMorB = 
QDateTime(todayNow.date().addDays(m_morning < todayNow.time()), m_morning);
+ const QDateTime nextMorE = nextMorB.addSecs(m_trTime * 60);
+ const QDateTime nextEveB = 
QDateTime(todayNow.date().addDays(m_evening < todayNow.time()), m_evening);
+@@ -543,58 +541,61 @@ void NightColorManager::updateTransitionTimings(bool 
force)
+ m_next = DateTimes(nextMorB, nextMorE);
+ m_prev = DateTimes(nextEveB.addDays(-1), nextEveE.addDays(-1));
+ }
+-Q_EMIT previousTransitionTimingsChanged();
+-Q_EMIT scheduledTransitionTimingsChanged();
+-return;
+-}
+-
+-double lat, lng;
+-if (m_mode == NightColorMode::Automatic) {
+-lat = m_latAuto;
+-lng = m_lngAuto;
+ } else {
+-lat = m_latFixed;
+-lng = m_lngFixed;
+-}
++const QDateTime todayNow = QDateTime::currentDateTime();
+ 
+-if (!force) {
+-// first try by only switching the timings
+-if (m_prev.first.date() == m_next.first.date()) {
+-// next is evening
+-m_daylight = true;
+-m_prev = m_next;
+-m_next = getSunTimings(todayNow, lat, lng, false);
++double lat, lng;
++if (m_mode == NightColorMode::Automatic) {
++lat = m_latAuto;
++lng = m_lngAuto;
+ } else {
+-// next is morning
+-m_daylight = false;
+-m_prev = m_next;
+-m_next = getSunTimings(todayNow.addDays(1), lat, lng, true);
++lat = m_latFixed;
++lng = m_lngFixed;
+ }
+-}
+ 
+-if (force || !checkAutomaticSunTimings()) {
+-// in case this fails, reset them
+-DateTimes morning = getSunTimings(todayNow, lat, lng, true);
+-if (todayNow < morning.first) {
+-m_daylight = false;
+-m_prev = getSunTimings(todayNow.addDays(-1), lat, lng, false);
+-m_next = morning;
+-} else {
+-DateTimes evening = getSunTimings(todayNow, lat, lng, false);
+-if (todayNow < evening.first) {
++   

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2022-05-25 Thread Andreas Sturmlechner
commit: 854fdba3048965bfa65fdb9d0d827c3cf86283e7
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Wed May 25 19:30:12 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed May 25 21:10:11 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=854fdba3

kde-plasma/kwin: Backport several 5.24.6 fixes

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

 .../kwin-5.24.5-fix-plasmashell-crash-1.patch  | 307 +
 .../kwin-5.24.5-fix-plasmashell-crash-2.patch  |  35 +++
 .../kwin-5.24.5-update-device-outputName.patch |  32 +++
 kde-plasma/kwin/kwin-5.24.5-r2.ebuild  | 142 ++
 4 files changed, 516 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.24.5-fix-plasmashell-crash-1.patch 
b/kde-plasma/kwin/files/kwin-5.24.5-fix-plasmashell-crash-1.patch
new file mode 100644
index ..46b6f0ad9c71
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.5-fix-plasmashell-crash-1.patch
@@ -0,0 +1,307 @@
+From 4c3195270d6c8e1da8c3e2e3abe5aae75d5bf3c2 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Fri, 26 Nov 2021 12:03:14 +0200
+Subject: [PATCH] Ensure that Toplevel::output() stays always in sync with
+ geometry
+
+Currently, if geometry updates are blocked, the Toplevel.output property
+won't be updated. On the other hand, it's reasonable to use the output
+property instead of manually looking up the output in window management
+code, e.g. Workspace::clientArea().
+
+In other words, using the Toplevel.output property is like walking on a
+mine field, things can blow up. You can't use Toplevel.output even if it
+makes perfect sense.
+
+This change ensures that Toplevel.output property is always kept in sync
+with the frame geometry. Unfortunately, this means that the output
+property no longer can be updated when the frameGeometryChanged() signal
+is emitted. It has to be done in moveResizeInternal() method.
+
+BUG: 448064
+
+(cherry picked from 510a41eeb89f51843405fa0258c852ab06d05bb8)
+
+Part-of: 
+---
+ src/abstract_client.cpp |  3 ---
+ src/events.cpp  |  1 +
+ src/internal_client.cpp |  6 ++
+ src/toplevel.cpp| 17 -
+ src/toplevel.h  | 10 ++
+ src/unmanaged.cpp   |  6 ++
+ src/unmanaged.h |  1 +
+ src/waylandclient.cpp   |  6 ++
+ src/x11client.cpp   |  7 +++
+ src/x11client.h |  1 +
+ 10 files changed, 30 insertions(+), 28 deletions(-)
+
+diff --git a/src/abstract_client.cpp b/src/abstract_client.cpp
+index 0714b9ac3f..ddff11e53c 100644
+--- a/src/abstract_client.cpp
 b/src/abstract_client.cpp
+@@ -63,8 +63,6 @@ AbstractClient::AbstractClient()
+ {
+ connect(this, ::clientStartUserMovedResized,  this, 
::moveResizedChanged);
+ connect(this, ::clientFinishUserMovedResized, this, 
::moveResizedChanged);
+-connect(this, ::clientStartUserMovedResized,  this, 
::removeCheckOutputConnection);
+-connect(this, ::clientFinishUserMovedResized, this, 
::setupCheckOutputConnection);
+ 
+ connect(this, ::windowShown, this, 
::hiddenChanged);
+ connect(this, ::windowHidden, this, 
::hiddenChanged);
+@@ -1011,7 +1009,6 @@ void AbstractClient::finishInteractiveMoveResize(bool 
cancel)
+ if (cancel) {
+ moveResize(initialInteractiveMoveResizeGeometry());
+ }
+-checkOutput(); // needs to be done because clientFinishUserMovedResized 
has not yet re-activated online alignment
+ if (output() != interactiveMoveResizeStartOutput()) {
+ workspace()->sendClientToOutput(this, output()); // checks rule 
validity
+ if (isFullScreen() || maximizeMode() != MaximizeRestore) {
+diff --git a/src/events.cpp b/src/events.cpp
+index b9bb9bbd36..a22960f0d0 100644
+--- a/src/events.cpp
 b/src/events.cpp
+@@ -1261,6 +1261,7 @@ void 
Unmanaged::configureNotifyEvent(xcb_configure_notify_event_t *e)
+ m_clientGeometry = newgeom;
+ m_frameGeometry = newgeom;
+ m_bufferGeometry = newgeom;
++checkOutput();
+ Q_EMIT bufferGeometryChanged(this, old);
+ Q_EMIT clientGeometryChanged(this, old);
+ Q_EMIT frameGeometryChanged(this, old);
+diff --git a/src/internal_client.cpp b/src/internal_client.cpp
+index 3be51ff27b..b4c9250fd3 100644
+--- a/src/internal_client.cpp
 b/src/internal_client.cpp
+@@ -10,6 +10,7 @@
+ #include "internal_client.h"
+ #include "decorations/decorationbridge.h"
+ #include "deleted.h"
++#include "platform.h"
+ #include "surfaceitem.h"
+ #include "workspace.h"
+ 
+@@ -477,6 +478,7 @@ void InternalClient::commitGeometry(const QRect )
+ // The client geometry and the buffer geometry are the same.
+ const QRect oldClientGeometry = m_clientGeometry;
+ const QRect oldFrameGeometry = m_frameGeometry;
++const AbstractOutput *oldOutput = m_output;
+ 
+ m_clientGeometry = 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2022-05-17 Thread Andreas Sturmlechner
commit: cb2f22e3e5634860303b198e6b5a4450865d9009
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Tue May 17 18:12:40 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Tue May 17 19:01:45 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb2f22e3

kde-plasma/kwin: Backport several 5.24.6 fixes

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

 .../kwin-5.24.5-effects-overview-hide-panels.patch |  65 ++
 .../kwin-5.24.5-fix-multi-gpu-double-copy.patch|  59 +
 .../kwin-5.24.5-fix-nvidia-render-glitches.patch   |  42 +++
 .../kwin-5.24.5-tabbox-dont-dismiss-popups.patch   |  32 +
 kde-plasma/kwin/kwin-5.24.5-r1.ebuild  | 140 +
 5 files changed, 338 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.24.5-effects-overview-hide-panels.patch 
b/kde-plasma/kwin/files/kwin-5.24.5-effects-overview-hide-panels.patch
new file mode 100644
index ..d5b1f8c3864e
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.5-effects-overview-hide-panels.patch
@@ -0,0 +1,65 @@
+From 7fcf36d636f62f101397d88ad6c448f54da79e46 Mon Sep 17 00:00:00 2001
+From: Marco Martin 
+Date: Fri, 13 May 2022 15:37:13 +
+Subject: [PATCH] effects/overview: hide panels
+
+This makes it consistent with WindowView (and the panel window doesn't respond
+to input anyways even if shown, which is misleading).
+
+BUG: 444274
+FIXED-IN: 5.24.6
+
+
+(cherry picked from commit db2af5500f964f3eefde60183b69f21125aeb194)
+---
+ src/effects/overview/qml/ScreenView.qml | 20 
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+diff --git a/src/effects/overview/qml/ScreenView.qml 
b/src/effects/overview/qml/ScreenView.qml
+index 40cc29f4c7..39119e40b9 100644
+--- a/src/effects/overview/qml/ScreenView.qml
 b/src/effects/overview/qml/ScreenView.qml
+@@ -70,16 +70,8 @@ FocusScope {
+ }
+ }
+ 
+-ExpoArea {
+-id: heapArea
+-screen: targetScreen
+-}
+-
+ Column {
+-x: heapArea.x
+-y: heapArea.y
+-width: heapArea.width
+-height: heapArea.height
++anchors.fill: parent
+ 
+ Item {
+ id: topBar
+@@ -176,15 +168,19 @@ FocusScope {
+ 
+ KWinComponents.WindowThumbnailItem {
+ id: windowThumbnail
+-visible: !model.client.hidden
++visible: !model.client.hidden && opacity > 0
+ wId: model.client.internalId
+ x: model.client.x - targetScreen.geometry.x
+ y: model.client.y - targetScreen.geometry.y
+ width: model.client.width
+ height: model.client.height
++opacity: container.effect.gestureInProgress
++? 1 - container.effect.partialActivationFactor
++: (model.client.hidden || container.organized) ? 0 : 1
+ 
+-TapHandler {
+-onTapped: effect.deactivate();
++Behavior on opacity {
++enabled: !container.effect.gestureInProgress
++NumberAnimation { duration: animationDuration; easing.type: 
Easing.OutCubic }
+ }
+ }
+ }
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.24.5-fix-multi-gpu-double-copy.patch 
b/kde-plasma/kwin/files/kwin-5.24.5-fix-multi-gpu-double-copy.patch
new file mode 100644
index ..53c05da522ec
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.5-fix-multi-gpu-double-copy.patch
@@ -0,0 +1,59 @@
+From 3b58fe4bde0722b352e4114adb992a2ed2c96423 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Sat, 7 May 2022 21:23:17 +0200
+Subject: [PATCH] backends/drm: consider escaped separators KWIN_DRM_DEVICES
+
+':' conflicts with the file names in /dev/dri/by-path, so allow it to be
+escaped with '\'
+
+CCBUG: 453386
+
+
+(cherry picked from commit a110aabbccf56019bdc324b3c751112f35ec3f6c)
+---
+ src/backends/drm/drm_backend.cpp | 24 +++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/src/backends/drm/drm_backend.cpp 
b/src/backends/drm/drm_backend.cpp
+index 272dba702c..567ea3f696 100644
+--- a/src/backends/drm/drm_backend.cpp
 b/src/backends/drm/drm_backend.cpp
+@@ -57,12 +57,34 @@
+ namespace KWin
+ {
+ 
++static QStringList splitPathList(const QString , const QChar delimiter)
++{
++QStringList ret;
++QString tmp;
++for (int i = 0; i < input.size(); i++) {
++if (input[i] == delimiter) {
++if (i > 0 && input[i - 1] == '\\') {
++tmp[tmp.size() - 1] = delimiter;
++} else if (!tmp.isEmpty()) {
++ret.append(tmp);
++tmp = QString();
++}
++} else {
++tmp.append(input[i]);
++}
++}
++if (!tmp.isEmpty()) {
++ret.append(tmp);
++}
++return ret;
++}
++
+ DrmBackend::DrmBackend(QObject *parent)
+ : Platform(parent)
+ , 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2022-04-18 Thread Andreas Sturmlechner
commit: 23e47003cf63c24dda9601d60d35e08f29e44468
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Mon Apr 11 13:32:52 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Mon Apr 18 14:16:44 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23e47003

kde-plasma/kwin: Various stability fixes

Upstream commits:
9d38f57d84fb9a6f2c4e60f7051f685842f34e0f
52035f43b90738e2efb4fd7b482719c1ea458578
388402c3b1b37d9f72597aae8d6670e8c0edeb14
82c2324b5675ea2d5e3b962f270bda1d186e7326
a5404234dbd26e170acb97789599fbcd705cf6cb
a35e3075a7aa4616c8930ccd3869dc4cca5d287e
c1d7919ad7cc8a7e55f5b93ec84de63547bc53b9
7a26f93cb579cf6b1cbc1e32790f93be70013157
ee625b2d8acad2ba81693107740a12d8a03863c0

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=452334
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=452171
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=450564
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=447705
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 ...5.24.4-backends-drm-dont-perm-disable-vrr.patch |  32 +++
 ...5.24.4-backends-drm-fetch-immutable-blobs.patch | 214 +
 .../kwin-5.24.4-dont-send-geom-to-text-input.patch |  26 +++
 .../kwin-5.24.4-dont-use-xcb-in-wayland.patch  |  41 
 .../kwin-5.24.4-fix-current-VD-always-added.patch  |  50 +
 ...win-5.24.4-fix-unlocking-wayland-sessions.patch |  44 +
 ...kwin-5.24.4-waylandserver-lockScreenShown.patch |  93 +
 ...server-move-LockScreenPresentationWatcher.patch |  36 
 ...win-5.24.4-xdgactivation-demand-attention.patch |  32 +++
 kde-plasma/kwin/kwin-5.24.4-r1.ebuild  | 145 ++
 10 files changed, 713 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.24.4-backends-drm-dont-perm-disable-vrr.patch 
b/kde-plasma/kwin/files/kwin-5.24.4-backends-drm-dont-perm-disable-vrr.patch
new file mode 100644
index ..38d4771c2345
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.4-backends-drm-dont-perm-disable-vrr.patch
@@ -0,0 +1,32 @@
+From a5404234dbd26e170acb97789599fbcd705cf6cb Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Fri, 8 Apr 2022 17:47:09 +0200
+Subject: [PATCH] backends/drm: don't permanently disable VRR when the test
+ commit fails
+
+In 5.24, the same code path is used for testing direct scanout, so that
+causes false negatives. Generally though, the user setting shouldn't be
+touched, it's not really proper feedback for the driver or KWin having
+problems.
+
+
+(cherry picked from commit 2ef6215a517e4220f147f5327e7ecdad02762b64)
+---
+ src/backends/drm/drm_output.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/backends/drm/drm_output.cpp b/src/backends/drm/drm_output.cpp
+index bd08631cf7..048803883b 100644
+--- a/src/backends/drm/drm_output.cpp
 b/src/backends/drm/drm_output.cpp
+@@ -337,7 +337,6 @@ bool DrmOutput::present(const QSharedPointer 
, QRegion damaged
+ m_pipeline->applyPendingChanges();
+ } else {
+ m_pipeline->revertPendingChanges();
+-setVrrPolicy(RenderLoop::VrrPolicy::Never);
+ }
+ }
+ if (m_pipeline->present(buffer)) {
+-- 
+GitLab
+

diff --git 
a/kde-plasma/kwin/files/kwin-5.24.4-backends-drm-fetch-immutable-blobs.patch 
b/kde-plasma/kwin/files/kwin-5.24.4-backends-drm-fetch-immutable-blobs.patch
new file mode 100644
index ..16c7756d33e2
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.4-backends-drm-fetch-immutable-blobs.patch
@@ -0,0 +1,214 @@
+From 82c2324b5675ea2d5e3b962f270bda1d186e7326 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl 
+Date: Mon, 4 Apr 2022 20:19:05 +0200
+Subject: [PATCH] backends/drm: fetch immutable blobs in DrmProperty
+
+If the blob is fetched while there is no kernel-visible reference to it,
+the driver may re-use the blob ID. When DrmProperty is created or updated,
+KWin holds a reference on the blob via drmModeObjectProperties, so this
+should prevent any possible issues.
+
+CCBUG: 449285
+---
+ src/backends/drm/drm_object_connector.cpp | 13 +++-
+ src/backends/drm/drm_object_plane.cpp | 39 +++
+ src/backends/drm/drm_property.cpp | 27 +++-
+ src/backends/drm/drm_property.h   |  7 +++-
+ 4 files changed, 54 insertions(+), 32 deletions(-)
+
+diff --git a/src/backends/drm/drm_object_connector.cpp 
b/src/backends/drm/drm_object_connector.cpp
+index a0045290df..0cdbd70b4f 100644
+--- a/src/backends/drm/drm_object_connector.cpp
 b/src/backends/drm/drm_object_connector.cpp
+@@ -337,16 +337,11 @@ bool DrmConnector::updateProperties()
+ }
+ 
+ // parse edid
+-auto edidProp = getProp(PropertyIndex::Edid);
+-if (edidProp) {
+-DrmScopedPointer 
blob(drmModeGetPropertyBlob(gpu()->fd(), edidProp->current()));
+-if (blob && blob->data) {
+-m_edid = Edid(blob->data, blob->length);
+-if (!m_edid.isValid()) {
+-

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2022-02-06 Thread Andreas Sturmlechner
commit: 90eb423988d9b3f94bef702e3b988e2e2c0f4cc8
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sun Feb  6 20:31:34 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sun Feb  6 21:16:36 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90eb4239

kde-plasma/kwin: Fix ProvidersUrl

See also:
https://mail.kde.org/pipermail/distributions/2022-February/001124.html
https://mail.kde.org/pipermail/distributions/2022-February/001127.html

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

 .../kwin/files/kwin-5.23.5-fix-ProvidersUrl.patch  | 71 ++
 .../{kwin-5.23.5.ebuild => kwin-5.23.5-r1.ebuild}  |  3 +
 ...{kwin-5.23.90.ebuild => kwin-5.23.90-r1.ebuild} |  3 +
 3 files changed, 77 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.23.5-fix-ProvidersUrl.patch 
b/kde-plasma/kwin/files/kwin-5.23.5-fix-ProvidersUrl.patch
new file mode 100644
index ..8829ec286f70
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.23.5-fix-ProvidersUrl.patch
@@ -0,0 +1,71 @@
+From c5c5f67f5d5ef2b4f7145f6586a8b3d8dba7fab5 Mon Sep 17 00:00:00 2001
+From: Ben Cooksley 
+Date: Mon, 7 Feb 2022 06:12:40 +1300
+Subject: [PATCH] Purge all references to download.kde.org, replacing them with
+ the correct endpoint of autoconfig.kde.org.
+
+CCMAIL: plasma-de...@kde.org
+CCMAIL: distributi...@kde.org
+(cherry picked from commit a428630ea4a46e967de71711c8da5cbaeb9b690b)
+---
+ src/kcmkwin/kwineffects/kwineffect.knsrc | 2 +-
+ src/kcmkwin/kwinscripts/kwinscripts.knsrc| 2 +-
+ src/kcmkwin/kwintabbox/kwinswitcher.knsrc| 2 +-
+ src/plugins/kdecorations/aurorae/src/aurorae.knsrc.cmake | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/kcmkwin/kwineffects/kwineffect.knsrc 
b/src/kcmkwin/kwineffects/kwineffect.knsrc
+index 6abcfb34f8..22bd1c98ec 100644
+--- a/src/kcmkwin/kwineffects/kwineffect.knsrc
 b/src/kcmkwin/kwineffects/kwineffect.knsrc
+@@ -45,7 +45,7 @@ Name[x-test]=xxWindow Manager Effectsxx
+ Name[zh_CN]=窗口管理器特效
+ Name[zh_TW]=視窗管理員效果
+ 
+-ProvidersUrl=https://download.kde.org/ocs/providers.xml
++ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
+ Categories=KWin Effects
+ StandardResource=tmp
+ Uncompress=kpackage
+diff --git a/src/kcmkwin/kwinscripts/kwinscripts.knsrc 
b/src/kcmkwin/kwinscripts/kwinscripts.knsrc
+index 44faa872ba..c002f0eec5 100644
+--- a/src/kcmkwin/kwinscripts/kwinscripts.knsrc
 b/src/kcmkwin/kwinscripts/kwinscripts.knsrc
+@@ -44,7 +44,7 @@ Name[x-test]=xxWindow Manager Scriptsxx
+ Name[zh_CN]=窗口管理器脚本
+ Name[zh_TW]=視窗管理員指令稿
+ 
+-ProvidersUrl=https://download.kde.org/ocs/providers.xml
++ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
+ Categories=KWin Scripts
+ StandardResource=tmp
+ Uncompress=kpackage
+diff --git a/src/kcmkwin/kwintabbox/kwinswitcher.knsrc 
b/src/kcmkwin/kwintabbox/kwinswitcher.knsrc
+index bef9bc07ea..d0f5c3b520 100644
+--- a/src/kcmkwin/kwintabbox/kwinswitcher.knsrc
 b/src/kcmkwin/kwintabbox/kwinswitcher.knsrc
+@@ -45,7 +45,7 @@ Name[x-test]=xxWindow Manager Switching Layoutsxx
+ Name[zh_CN]=窗口管理器切换布局
+ Name[zh_TW]=視窗切換器佈局
+ 
+-ProvidersUrl=https://download.kde.org/ocs/providers.xml
++ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
+ Categories=KWin Switching Layouts
+ StandardResource=tmp
+ Uncompress=kpackage
+diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.knsrc.cmake 
b/src/plugins/kdecorations/aurorae/src/aurorae.knsrc.cmake
+index a773c28c52..d0c7748852 100644
+--- a/src/plugins/kdecorations/aurorae/src/aurorae.knsrc.cmake
 b/src/plugins/kdecorations/aurorae/src/aurorae.knsrc.cmake
+@@ -40,7 +40,7 @@ Name[x-test]=xxAurorae Window Decorationsxx
+ Name[zh_CN]=Aurorae 极光窗口装饰
+ Name[zh_TW]=Aurorae 視窗裝飾
+ 
+-ProvidersUrl=https://download.kde.org/ocs/providers.xml
++ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
+ Categories=Window Decoration Aurorae
+ Uncompress=archive
+ TargetDir=aurorae/themes
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.23.5.ebuild 
b/kde-plasma/kwin/kwin-5.23.5-r1.ebuild
similarity index 96%
rename from kde-plasma/kwin/kwin-5.23.5.ebuild
rename to kde-plasma/kwin/kwin-5.23.5-r1.ebuild
index 6a8b24a358d7..daceebb79c40 100644
--- a/kde-plasma/kwin/kwin-5.23.5.ebuild
+++ b/kde-plasma/kwin/kwin-5.23.5-r1.ebuild
@@ -97,6 +97,9 @@ DEPEND="${COMMON_DEPEND}
 "
 PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
 
+# https://mail.kde.org/pipermail/distributions/2022-February/001127.html
+PATCHES=( "${FILESDIR}/${P}-fix-ProvidersUrl.patch" )
+
 src_prepare() {
ecm_src_prepare
use multimedia || eapply 
"${FILESDIR}/${PN}-5.21.80-gstreamer-optional.patch"

diff --git a/kde-plasma/kwin/kwin-5.23.90.ebuild 
b/kde-plasma/kwin/kwin-5.23.90-r1.ebuild
similarity index 96%
rename from kde-plasma/kwin/kwin-5.23.90.ebuild
rename to kde-plasma/kwin/kwin-5.23.90-r1.ebuild
index 92235562b5a5..6f373b80731f 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2021-12-15 Thread Andreas Sturmlechner
commit: 7a001371308fa1aaa8ddcc8ac77c768fa13f783a
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Wed Dec 15 10:34:24 2021 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Dec 15 11:28:05 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a001371

kde-plasma/kwin: Fix window sizing glitches, memleak/crash fixes

Upstream commit 77b678c522cce0e8e7b39087f74e2ac591cd28d0
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=445140

Upstream commit 8accc777a5b3ab1e53341f1838ed636652dc1221
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=29
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=444381
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=444077
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=29

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

 ...5.23.4-fix-memory-leak-caching-QSGTexture.patch |  50 
 ...gshell-protect-from-invalid-frameGeometry.patch |  36 ++
 kde-plasma/kwin/kwin-5.23.4-r2.ebuild  | 139 +
 3 files changed, 225 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.23.4-fix-memory-leak-caching-QSGTexture.patch 
b/kde-plasma/kwin/files/kwin-5.23.4-fix-memory-leak-caching-QSGTexture.patch
new file mode 100644
index ..5abcfa49969c
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.23.4-fix-memory-leak-caching-QSGTexture.patch
@@ -0,0 +1,50 @@
+From 8accc777a5b3ab1e53341f1838ed636652dc1221 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Mon, 13 Dec 2021 12:53:32 +0200
+Subject: [PATCH] Fix memory leak in some plasma components
+
+A few plasma components cache QSGTexture. Those components rely on
+texture references going away with QSGNode users. However, with the
+current tear down logic, OffscreenQuickView won't destroy any paint
+nodes.
+
+Destroy QQuickRenderControl before QQuickWindow to ensure that are no
+paint nodes left alive after OffscreenQuickView.
+
+BUG: 29
+BUG: 444381
+BUG: 444077
+BUG: 444306
+(cherry picked from commit 64f2cdf9ed290a1fb7c2bf41753613078eb023c4)
+---
+ src/libkwineffects/kwineffectquickview.cpp | 12 +++-
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/libkwineffects/kwineffectquickview.cpp 
b/src/libkwineffects/kwineffectquickview.cpp
+index ca5a025729..14be1e1b25 100644
+--- a/src/libkwineffects/kwineffectquickview.cpp
 b/src/libkwineffects/kwineffectquickview.cpp
+@@ -160,13 +160,15 @@ EffectQuickView::EffectQuickView(QObject *parent, 
QWindow *renderWindow, ExportM
+ EffectQuickView::~EffectQuickView()
+ {
+ if (d->m_glcontext) {
+-d->m_glcontext->makeCurrent(d->m_offscreenSurface.data());
+ // close the view whilst we have an active GL context
+-delete d->m_view;
+-d->m_view = nullptr;
+-d->m_renderControl->invalidate();
+-d->m_glcontext->doneCurrent();
++d->m_glcontext->makeCurrent(d->m_offscreenSurface.data());
+ }
++
++delete d->m_renderControl; // Always delete render control first.
++d->m_renderControl = nullptr;
++
++delete d->m_view;
++d->m_view = nullptr;
+ }
+ 
+ bool EffectQuickView::automaticRepaint() const
+-- 
+GitLab
+

diff --git 
a/kde-plasma/kwin/files/kwin-5.23.4-xdgshell-protect-from-invalid-frameGeometry.patch
 
b/kde-plasma/kwin/files/kwin-5.23.4-xdgshell-protect-from-invalid-frameGeometry.patch
new file mode 100644
index ..a80348be3562
--- /dev/null
+++ 
b/kde-plasma/kwin/files/kwin-5.23.4-xdgshell-protect-from-invalid-frameGeometry.patch
@@ -0,0 +1,36 @@
+From 77b678c522cce0e8e7b39087f74e2ac591cd28d0 Mon Sep 17 00:00:00 2001
+From: Ismael Asensio 
+Date: Sun, 12 Dec 2021 15:16:28 +0100
+Subject: [PATCH] XDGShellClient: Protect from invalid frameGeometry on
+ updateDecoration
+
+When updating window decoration do not try to restore the previous 
frameGeometry
+if it was invalid.
+
+This fixes the case when applying a `noBorder=true` rule on a newly created
+client would set it to a minimal window size
+
+Targeted at 5.23 only, since this codepath is being reworked for 5.24
+
+BUG: 445140
+FIXED-IN: 5.23.5
+---
+ src/xdgshellclient.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/xdgshellclient.cpp b/src/xdgshellclient.cpp
+index b4427b8cf7..75c4031498 100644
+--- a/src/xdgshellclient.cpp
 b/src/xdgshellclient.cpp
+@@ -637,7 +637,7 @@ void XdgToplevelClient::updateDecoration(bool 
check_workspace_pos, bool force)
+ scheduleConfigure();
+ }
+ updateShadow();
+-if (check_workspace_pos) {
++if (check_workspace_pos && oldFrameGeometry.isValid()) {
+ const QRect oldGeometryRestore = geometryRestore();
+ setGeometryRestore(frameGeometry());
+ checkWorkspacePosition(oldFrameGeometry, oldClientGeometry);
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.23.4-r2.ebuild 
b/kde-plasma/kwin/kwin-5.23.4-r2.ebuild
new file mode 100644
index ..dcbd921d6a07
--- 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2021-11-23 Thread Andreas Sturmlechner
commit: 05d8b1ff72e2697b27b3cb2284d0e722202a6bf6
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Mon Nov 22 16:14:44 2021 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Tue Nov 23 14:59:13 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05d8b1ff

kde-plasma/kwin: Fix wrong window size in some cases

Upstream commits:
325208347c40d7311aea83572b5150ba3750cba9
1ba7b5ec63b61fa00b7eac59a1beca12323fefb3

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=445444
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 ...-enable-window-rules-for-all-xdg-toplevel.patch | 132 +
 .../kwin/files/kwin-5.23.3-revert-2560288e.patch   |  35 ++
 kde-plasma/kwin/kwin-5.23.3-r1.ebuild  |   2 +
 3 files changed, 169 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.23.3-enable-window-rules-for-all-xdg-toplevel.patch
 
b/kde-plasma/kwin/files/kwin-5.23.3-enable-window-rules-for-all-xdg-toplevel.patch
new file mode 100644
index ..fa52bd7a3481
--- /dev/null
+++ 
b/kde-plasma/kwin/files/kwin-5.23.3-enable-window-rules-for-all-xdg-toplevel.patch
@@ -0,0 +1,132 @@
+From 1ba7b5ec63b61fa00b7eac59a1beca12323fefb3 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Wed, 17 Nov 2021 18:36:00 +0200
+Subject: [PATCH] wayland: Enable window rules for all xdg-toplevel
+
+If a window wants to be initially shown in fullscreen mode, it will
+issue an xdg_toplevel.set_fullscreen request before the first surface
+commit.
+
+If a window wants to be shown in fullscreen mode and there hasn't been
+any first surface commit, kwin will cache the request and apply
+fullscreen mode when checking window rules in the initialize() function.
+
+On the other hand, window rules are disabled for plasma surfaces. The
+motivation behind that was to forbid user from messing with plasma's
+surfaces (this change was suggested during redesign of xdg-shell
+implementation).
+
+As it turns out, there are cases where plasma may ask to show a window
+in fullscreen mode, which also has a plasma surface installed, e.g.
+fullscreen application dashboard.
+
+In order to fix the dashboard, this change allows window rules to be
+applied to xdg-toplevel windows that also have plasma surfaces installed.
+
+As is, xdg-toplevel surfaces and plasma surfaces are very different in
+nature. Adding more quirks to handle plasma surfaces in
+XdgToplevelClient is not worth the effort and there are better
+alternatives, e.g. layer-shell.
+
+
+(cherry picked from commit 039b1d031e3e30c238c8d67ade376c6d52297d81)
+---
+ src/xdgshellclient.cpp | 65 +-
+ 1 file changed, 32 insertions(+), 33 deletions(-)
+
+diff --git a/src/xdgshellclient.cpp b/src/xdgshellclient.cpp
+index 9e8216a3a0..b4427b8cf7 100644
+--- a/src/xdgshellclient.cpp
 b/src/xdgshellclient.cpp
+@@ -647,7 +647,7 @@ void XdgToplevelClient::updateDecoration(bool 
check_workspace_pos, bool force)
+ 
+ bool XdgToplevelClient::supportsWindowRules() const
+ {
+-return !m_plasmaShellSurface;
++return true;
+ }
+ 
+ StrutRect XdgToplevelClient::strutRect(StrutArea area) const
+@@ -946,7 +946,7 @@ void XdgToplevelClient::handleWindowClassChanged()
+ {
+ const QByteArray applicationId = m_shellSurface->windowClass().toUtf8();
+ setResourceClass(resourceName(), applicationId);
+-if (shellSurface()->isConfigured() && supportsWindowRules()) {
++if (shellSurface()->isConfigured()) {
+ evaluateWindowRules();
+ }
+ setDesktopFileName(applicationId);
+@@ -1196,40 +1196,39 @@ void XdgToplevelClient::initialize()
+ // is sent if the client has called the set_mode() request with csd mode.
+ updateDecoration(false, true);
+ 
+-if (supportsWindowRules()) {
+-setupWindowRules(false);
+-
+-moveResize(rules()->checkGeometry(frameGeometry(), true));
+-maximize(rules()->checkMaximize(initialMaximizeMode(), true));
+-setFullScreen(rules()->checkFullScreen(initialFullScreenMode(), 
true), false);
+-setOnActivities(rules()->checkActivity(activities(), true));
+-setDesktops(rules()->checkDesktops(desktops(), true));
+-setDesktopFileName(rules()->checkDesktopFile(desktopFileName(), 
true).toUtf8());
+-if (rules()->checkMinimize(isMinimized(), true)) {
+-minimize(true); // No animation.
+-}
+-setSkipTaskbar(rules()->checkSkipTaskbar(skipTaskbar(), true));
+-setSkipPager(rules()->checkSkipPager(skipPager(), true));
+-setSkipSwitcher(rules()->checkSkipSwitcher(skipSwitcher(), true));
+-setKeepAbove(rules()->checkKeepAbove(keepAbove(), true));
+-setKeepBelow(rules()->checkKeepBelow(keepBelow(), true));
+-setShortcut(rules()->checkShortcut(shortcut().toString(), true));
+-setNoBorder(rules()->checkNoBorder(noBorder(), true));
++setupWindowRules(false);
++
++

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2021-09-15 Thread Andreas Sturmlechner
commit: 098f5a7919fe1d090eaf56b6b6b95e9dc7e1ad39
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Wed Sep 15 17:41:53 2021 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Sep 15 17:42:02 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=098f5a79

kde-plasma/kwin: Fix build on x86

Tested-by: David Flogeras  gmail.com>
Closes: https://bugs.gentoo.org/813228
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 kde-plasma/kwin/files/kwin-5.22.5-32bit.patch | 29 +++
 kde-plasma/kwin/kwin-5.22.5.ebuild|  5 -
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/kwin/files/kwin-5.22.5-32bit.patch 
b/kde-plasma/kwin/files/kwin-5.22.5-32bit.patch
new file mode 100644
index 000..7c40b207ca8
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.22.5-32bit.patch
@@ -0,0 +1,29 @@
+From 38e24ecd6416a975db0989c21b70d6a4cc242f35 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner 
+Date: Wed, 15 Sep 2021 19:06:23 +0200
+Subject: [PATCH] Fix build with 32-bit
+
+Follow-up to 839710201c389b7f4ed248cb3818e755a37ce977
+
+Tested-by: David Flogeras 
+Signed-off-by: Andreas Sturmlechner 
+---
+ src/plugins/platforms/x11/common/eglonxbackend.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/platforms/x11/common/eglonxbackend.cpp 
b/src/plugins/platforms/x11/common/eglonxbackend.cpp
+index d2900c7c3..c8acefe82 100644
+--- a/src/plugins/platforms/x11/common/eglonxbackend.cpp
 b/src/plugins/platforms/x11/common/eglonxbackend.cpp
+@@ -214,7 +214,7 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t 
window)
+ }
+ 
+ // Window is 64 bits on a 64-bit architecture whereas xcb_window_t is 
always 32 bits.
+-unsigned long nativeWindow = window;
++uintptr_t nativeWindow = window;
+ 
+ EGLSurface surface = EGL_NO_SURFACE;
+ if (havePlatformBase()) {
+-- 
+2.33.0
+

diff --git a/kde-plasma/kwin/kwin-5.22.5.ebuild 
b/kde-plasma/kwin/kwin-5.22.5.ebuild
index 6bf17ada42c..ed5ad4fac40 100644
--- a/kde-plasma/kwin/kwin-5.22.5.ebuild
+++ b/kde-plasma/kwin/kwin-5.22.5.ebuild
@@ -103,7 +103,10 @@ PDEPEND="
>=kde-plasma/kde-cli-tools-${PVCUT}:5
 "
 
-PATCHES=( "${FILESDIR}/${P}-libglvnd-1.3.4.patch" ) # KDE-bug 440372, bug 
810511
+PATCHES=(
+   "${FILESDIR}/${P}-libglvnd-1.3.4.patch" # KDE-bug 440372, bug 810511
+   "${FILESDIR}/${P}-32bit.patch" # bug 813228
+)
 
 src_prepare() {
ecm_src_prepare



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2020-10-04 Thread Andreas Sturmlechner
commit: 804a1b3955488d8b00768d15a2748a97ca615eb6
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sun Oct  4 11:56:38 2020 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sun Oct  4 15:54:08 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=804a1b39

kde-plasma/kwin: Make removal of X11 event filters safe

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=423319
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 ...-5.19.5-safe-removal-of-X11-event-filters.patch | 162 +
 kde-plasma/kwin/kwin-5.19.5-r1.ebuild  | 113 ++
 2 files changed, 275 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch 
b/kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch
new file mode 100644
index 000..7eeccf6e8c5
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch
@@ -0,0 +1,162 @@
+From c5880833d94330d022c4b6fc84c175aadeaf9632 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Tue, 22 Sep 2020 08:53:17 +
+Subject: [PATCH] x11: Make removal of X11 event filters safe
+
+If an X11 event filter has been activated and it unregisters another X11
+event filter, then the window manager may crash because the foreach macro
+in Workspace::workspaceEvent() makes a copy of m_genericEventFilters or
+m_eventFilters and we can call the event() method for an already defunct
+filter.
+
+With this change, X11 event filters can be safely removed and installed
+at any particular moment.
+
+BUG: 423319
+
+
+(cherry picked from commit a433fb08a3a9255802405a17dd4c8270c68fcb25)
+---
+ events.cpp| 52 +--
+ workspace.cpp | 10 ++
+ workspace.h   | 17 +++--
+ 3 files changed, 67 insertions(+), 12 deletions(-)
+
+diff --git a/events.cpp b/events.cpp
+index eb3572d13..2e8885d76 100644
+--- a/events.cpp
 b/events.cpp
+@@ -165,18 +165,34 @@ QVector s_xcbEerrors({
+ 
+ void Workspace::registerEventFilter(X11EventFilter *filter)
+ {
+-if (filter->isGenericEvent())
+-m_genericEventFilters.append(filter);
+-else
+-m_eventFilters.append(filter);
++if (filter->isGenericEvent()) {
++m_genericEventFilters.append(new X11EventFilterContainer(filter));
++} else {
++m_eventFilters.append(new X11EventFilterContainer(filter));
++}
++}
++
++static X11EventFilterContainer *takeEventFilter(X11EventFilter *eventFilter,
++
QList> )
++{
++for (int i = 0; i < list.count(); ++i) {
++X11EventFilterContainer *container = list.at(i);
++if (container->filter() == eventFilter) {
++return list.takeAt(i);
++}
++}
++return nullptr;
+ }
+ 
+ void Workspace::unregisterEventFilter(X11EventFilter *filter)
+ {
+-if (filter->isGenericEvent())
+-m_genericEventFilters.removeOne(filter);
+-else
+-m_eventFilters.removeOne(filter);
++X11EventFilterContainer *container = nullptr;
++if (filter->isGenericEvent()) {
++container = takeEventFilter(filter, m_genericEventFilters);
++} else {
++container = takeEventFilter(filter, m_eventFilters);
++}
++delete container;
+ }
+ 
+ 
+@@ -219,13 +235,29 @@ bool Workspace::workspaceEvent(xcb_generic_event_t *e)
+ if (eventType == XCB_GE_GENERIC) {
+ xcb_ge_generic_event_t *ge = reinterpret_cast(e);
+ 
+-foreach (X11EventFilter *filter, m_genericEventFilters) {
++// We need to make a shadow copy of the event filter list because an 
activated event
++// filter may mutate it by removing or installing another event 
filter.
++const auto eventFilters = m_genericEventFilters;
++
++for (X11EventFilterContainer *container : eventFilters) {
++if (!container) {
++continue;
++}
++X11EventFilter *filter = container->filter();
+ if (filter->extension() == ge->extension && 
filter->genericEventTypes().contains(ge->event_type) && filter->event(e)) {
+ return true;
+ }
+ }
+ } else {
+-foreach (X11EventFilter *filter, m_eventFilters) {
++// We need to make a shadow copy of the event filter list because an 
activated event
++// filter may mutate it by removing or installing another event 
filter.
++const auto eventFilters = m_eventFilters;
++
++for (X11EventFilterContainer *container : eventFilters) {
++if (!container) {
++continue;
++}
++X11EventFilter *filter = container->filter();
+ if (filter->eventTypes().contains(eventType) && filter->event(e)) 
{
+ return true;
+ }
+diff --git a/workspace.cpp b/workspace.cpp
+index a87a622e9..fd3634b16 100644

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2020-05-16 Thread Andreas Sturmlechner
commit: 4410ebee118ca372a9db22dde9cfedcca6299bde
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sat May 16 22:04:12 2020 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sat May 16 22:38:09 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4410ebee

kde-plasma/kwin: Place lockscreen greeter above other windows

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=420802
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../kwin-5.18.5-wayland-lockscreen-greeter.patch   | 73 ++
 kde-plasma/kwin/kwin-5.18.5-r1.ebuild  |  1 +
 2 files changed, 74 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch 
b/kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch
new file mode 100644
index 000..ac4b9d24c8e
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch
@@ -0,0 +1,73 @@
+From 6f8b8efb338117ee197092e46b25b489b612257d Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Fri, 8 May 2020 11:26:27 +0300
+Subject: [wayland] Place lockscreen greeter above other windows
+
+Summary: BUG: 420802
+
+Reviewers: #kwin, davidedmundson
+
+Reviewed By: #kwin, davidedmundson
+
+Subscribers: apol, kwin
+
+Tags: #kwin
+
+Differential Revision: https://phabricator.kde.org/D29523
+---
+ abstract_client.cpp  |  2 ++
+ autotests/integration/lockscreen.cpp | 19 +++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/abstract_client.cpp b/abstract_client.cpp
+index ca6c422..48918e7 100644
+--- a/abstract_client.cpp
 b/abstract_client.cpp
+@@ -275,6 +275,8 @@ Layer AbstractClient::belongsToLayer() const
+ // Since the desktop is also activated, nothing should be in the 
ActiveLayer, though
+ if (isInternal())
+ return UnmanagedLayer;
++if (isLockScreen())
++return UnmanagedLayer;
+ if (isDesktop())
+ return workspace()->showingDesktop() ? AboveLayer : DesktopLayer;
+ if (isSplash())  // no damn annoying splashscreens
+diff --git a/autotests/integration/lockscreen.cpp 
b/autotests/integration/lockscreen.cpp
+index e258540..82cac09 100644
+--- a/autotests/integration/lockscreen.cpp
 b/autotests/integration/lockscreen.cpp
+@@ -62,6 +62,7 @@ private Q_SLOTS:
+ void initTestCase();
+ void init();
+ void cleanup();
++void testStackingOrder();
+ void testPointer();
+ void testPointerButton();
+ void testPointerAxis();
+@@ -223,6 +224,24 @@ void LockScreenTest::cleanup()
+ Test::destroyWaylandConnection();
+ }
+ 
++void LockScreenTest::testStackingOrder()
++{
++// This test verifies that the lockscreen greeter is placed above other 
windows.
++
++QSignalSpy clientAddedSpy(waylandServer(), 
::shellClientAdded);
++QVERIFY(clientAddedSpy.isValid());
++
++LOCK
++QVERIFY(clientAddedSpy.wait());
++
++AbstractClient *client = 
clientAddedSpy.first().first().value();
++QVERIFY(client);
++QVERIFY(client->isLockScreen());
++QCOMPARE(client->layer(), UnmanagedLayer);
++
++UNLOCK
++}
++
+ void LockScreenTest::testPointer()
+ {
+ using namespace KWayland::Client;
+-- 
+cgit v1.1

diff --git a/kde-plasma/kwin/kwin-5.18.5-r1.ebuild 
b/kde-plasma/kwin/kwin-5.18.5-r1.ebuild
index c755f96bbcf..0ba4084e461 100644
--- a/kde-plasma/kwin/kwin-5.18.5-r1.ebuild
+++ b/kde-plasma/kwin/kwin-5.18.5-r1.ebuild
@@ -96,6 +96,7 @@ RESTRICT+=" test"
 PATCHES=(
# in Plasma/5.18
"${FILESDIR}/${P}-dont-exec-QDialog.patch" # KDE-bug 421053
+   "${FILESDIR}/${P}-wayland-lockscreen-greeter.patch" # KDE-bug 420802
 )
 
 src_prepare() {



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2020-05-16 Thread Andreas Sturmlechner
commit: fc03ea97850597e3d1f70a5189080af4078ee272
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sat May 16 22:02:17 2020 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sat May 16 22:38:09 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc03ea97

kde-plasma/kwin: Don't exec() QDialog

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=421
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../kwin/files/kwin-5.18.5-dont-exec-QDialog.patch | 149 +
 kde-plasma/kwin/kwin-5.18.5-r1.ebuild  | 116 
 2 files changed, 265 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch 
b/kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch
new file mode 100644
index 000..df65c32fb13
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch
@@ -0,0 +1,149 @@
+From 5ea54eda5d1f91428933d338ea8b950aea86d43a Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik 
+Date: Wed, 6 May 2020 15:15:03 +0200
+Subject: [kcmkwin/kwindecoration] Don't exec() QDialog
+
+Using nested event loops with QML is always troublesome.
+
+BUG: 421053
+FIXED-IN: 5.18.6
+
+Differential Revision: https://phabricator.kde.org/D29473
+---
+ .../declarative-plugin/previewbridge.cpp   | 32 +++---
+ .../declarative-plugin/previewbridge.h |  4 ++-
+ .../kwindecoration/package/contents/ui/Themes.qml  |  3 +-
+ 3 files changed, 27 insertions(+), 12 deletions(-)
+
+diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp 
b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp
+index bad4cc1..83a9bd9 100644
+--- a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp
 b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp
+@@ -36,7 +36,11 @@
+ #include 
+ #include 
+ #include 
++#include 
++#include 
++#include 
+ #include 
++#include 
+ 
+ namespace KDecoration2
+ {
+@@ -173,15 +177,16 @@ DecorationButton 
*PreviewBridge::createButton(KDecoration2::Decoration *decorati
+ return 
m_factory->create(QStringLiteral("button"), 
parent, QVariantList({QVariant::fromValue(type), 
QVariant::fromValue(decoration)}));
+ }
+ 
+-void PreviewBridge::configure()
++void PreviewBridge::configure(QQuickItem *ctx)
+ {
+ if (!m_valid) {
+ return;
+ }
+ //setup the UI
+-QDialog dialog;
++QDialog *dialog = new QDialog();
++dialog->setAttribute(Qt::WA_DeleteOnClose);
+ if (m_lastCreatedClient) {
+-dialog.setWindowTitle(m_lastCreatedClient->caption());
++dialog->setWindowTitle(m_lastCreatedClient->caption());
+ }
+ 
+ // create the KCModule through the plugintrader
+@@ -189,7 +194,7 @@ void PreviewBridge::configure()
+ if (!m_theme.isNull()) {
+ args.insert(QStringLiteral("theme"), m_theme);
+ }
+-KCModule *kcm = m_factory->create(QStringLiteral("kcmodule"), 
, QVariantList({args}));
++KCModule *kcm = m_factory->create(QStringLiteral("kcmodule"), 
dialog, QVariantList({args}));
+ if (!kcm) {
+ return;
+ }
+@@ -205,28 +210,35 @@ void PreviewBridge::configure()
+   
QStringLiteral("reloadConfig"));
+ QDBusConnection::sessionBus().send(message);
+ };
+-connect(, ::accepted, this, save);
++connect(dialog, ::accepted, this, save);
+ 
+ QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok |
+  QDialogButtonBox::Cancel 
|
+  
QDialogButtonBox::RestoreDefaults |
+  QDialogButtonBox::Reset,
+- );
++ dialog);
+ 
+ QPushButton *reset = buttons->button(QDialogButtonBox::Reset);
+ reset->setEnabled(false);
+ // Here we connect our buttons with the dialog
+-connect(buttons, ::accepted, , ::accept);
+-connect(buttons, ::rejected, , ::reject);
++connect(buttons, ::accepted, dialog, ::accept);
++connect(buttons, ::rejected, dialog, ::reject);
+ connect(reset, ::clicked, kcm, ::load);
+ auto changedSignal = 
static_cast(::changed);
+ connect(kcm, changedSignal, reset, ::setEnabled);
+ connect(buttons->button(QDialogButtonBox::RestoreDefaults), 
::clicked, kcm, ::defaults);
+ 
+-QVBoxLayout *layout = new QVBoxLayout();
++QVBoxLayout *layout = new QVBoxLayout(dialog);
+ layout->addWidget(kcm);
+ layout->addWidget(buttons);
+-dialog.exec();
++
++if (ctx->window()) {
++dialog->winId(); // so it creates windowHandle
++
dialog->windowHandle()->setTransientParent(QQuickRenderControl::renderWindowFor(ctx->window()));
++dialog->setModal(true);
++}
++
++dialog->show();
+ }
+ 
+ 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2019-10-26 Thread Andreas Sturmlechner
commit: b7779965fdd4940b1c25224eab98bd89135d98de
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sat Oct 26 14:19:57 2019 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sat Oct 26 14:20:19 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7779965

kde-plasma/kwin: Don't use MESA_EGL_NO_X11_HEADERS

Closes: https://bugs.gentoo.org/698546
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 ...n-5.17.1-dont-use-MESA_EGL_NO_X11_HEADERS.patch | 57 ++
 kde-plasma/kwin/kwin-5.17.1.ebuild |  2 +
 2 files changed, 59 insertions(+)

diff --git 
a/kde-plasma/kwin/files/kwin-5.17.1-dont-use-MESA_EGL_NO_X11_HEADERS.patch 
b/kde-plasma/kwin/files/kwin-5.17.1-dont-use-MESA_EGL_NO_X11_HEADERS.patch
new file mode 100644
index 000..a15c8aee153
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.17.1-dont-use-MESA_EGL_NO_X11_HEADERS.patch
@@ -0,0 +1,57 @@
+From 8e176c8b0d97e78e8b33fac3b5acded277bbcf4f Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii 
+Date: Mon, 21 Oct 2019 21:20:11 +0300
+Subject: Don't use MESA_EGL_NO_X11_HEADERS
+
+Summary:
+With recent Mesa updates (19.2.1), MESA_EGL_NO_X11_HEADERS doesn't have
+any effect. So, let's include fixx11h.h instead.
+
+Test Plan: I am able to build kwin once again.
+
+Reviewers: #kwin, davidedmundson
+
+Reviewed By: #kwin, davidedmundson
+
+Subscribers: kwin
+
+Tags: #kwin
+
+Differential Revision: https://phabricator.kde.org/D24840
+---
+ plugins/qpa/eglhelpers.h   | 2 +-
+ plugins/qpa/offscreensurface.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/qpa/eglhelpers.h b/plugins/qpa/eglhelpers.h
+index 1eb7624..30eb56d 100644
+--- a/plugins/qpa/eglhelpers.h
 b/plugins/qpa/eglhelpers.h
+@@ -20,9 +20,9 @@ along with this program.  If not, see 
.
+ 
+ #pragma once
+ 
+-#define MESA_EGL_NO_X11_HEADERS
+ #include 
+ #include "fixqopengl.h"
++#include 
+ 
+ #include 
+ 
+diff --git a/plugins/qpa/offscreensurface.h b/plugins/qpa/offscreensurface.h
+index 1254981..5b8ce29 100644
+--- a/plugins/qpa/offscreensurface.h
 b/plugins/qpa/offscreensurface.h
+@@ -20,9 +20,9 @@ along with this program.  If not, see 
.
+ 
+ #pragma once
+ 
+-#define MESA_EGL_NO_X11_HEADERS
+ #include 
+ #include "fixqopengl.h"
++#include 
+ 
+ #include 
+ 
+-- 
+cgit v1.1

diff --git a/kde-plasma/kwin/kwin-5.17.1.ebuild 
b/kde-plasma/kwin/kwin-5.17.1.ebuild
index d3e20b0940d..61b6f0494ca 100644
--- a/kde-plasma/kwin/kwin-5.17.1.ebuild
+++ b/kde-plasma/kwin/kwin-5.17.1.ebuild
@@ -87,6 +87,8 @@ PDEPEND="
 
 RESTRICT+=" test"
 
+PATCHES=( "${FILESDIR}/${P}-dont-use-MESA_EGL_NO_X11_HEADERS.patch" )
+
 src_prepare() {
kde5_src_prepare
use multimedia || eapply 
"${FILESDIR}/${PN}-5.16.80-gstreamer-optional.patch"



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2018-11-13 Thread Andreas Sturmlechner
commit: 881b0b008ecbd40cf3b264b14ce2429796196ad2
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Tue Nov 13 10:21:08 2018 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Tue Nov 13 11:32:42 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=881b0b00

kde-plasma/kwin: Fix runtime crashes

Backported from 5.14 branch.

Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../files/kwin-5.14.3-resizewindows-crash.patch|  72 +++
 .../files/kwin-5.14.3-virtualdesktop-crash.patch   | 137 +
 kde-plasma/kwin/kwin-5.14.3-r1.ebuild  | 111 +
 3 files changed, 320 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch 
b/kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch
new file mode 100644
index 000..37963c8395c
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch
@@ -0,0 +1,72 @@
+From 406b70b04e093c13faf763e2d885797ae037d806 Mon Sep 17 00:00:00 2001
+From: Vlad Zagorodniy 
+Date: Mon, 12 Nov 2018 17:45:14 +0200
+Subject: [wayland] Don't crash when resizing windows
+
+Summary:
+If you resize a decorated client by using the resize user action(press
+Alt + F3 > More Actions > Resize), then KWin will crash because it gets
+stuck in an infinite loop (AbstractClient::performMoveResize <->
+ShellClient::setGeometry).
+
+Here's how KWin gets stuck in that loop:
+* when you finish resizing the client, AbstractClient::keyPressEvent
+  will call AbstractClient::finishMoveResize;
+* the first thing that finishMoveResize does is block geometry updates,
+  then it does some clean up (e.g. reset the value of isMoveResize(), etc),
+  updates the geometry of the client and when it's done, it will emit
+  clientFinishUserMoveResized signal;
+* when PointerInputRedirection notices that signal, it will call
+  processDecorationMove on the client, which in its turn will indirectly
+  call AbstractClient::startMoveResize;
+* when it's time to go back to AbstractClient::keyPressEvent, geometry
+  updates are unblocked and if there are any pending geometry updates,
+  then ShellClient::setGeometry will be called;
+* ShellClient::setGeometry will eventually call ShellClient::doSetGeometry;
+* ShellClient::doSetGeometry will call AbstractClient::performMoveResize
+  because AbstractClient::processDecorationMove indirectly called
+  AbstractClient::startMoveResize;
+* AbstractClient::performMoveResize calls ShellClient::setGeometry;
+* (at this point, KWin got stuck in the infinite loop)
+
+This change swaps setMoveResizePointerButtonDown and finishMoveResize,
+so processDecorationMove won't indirectly call startMoveResize.
+
+BUG: 397577
+FIXED-IN: 5.14.4
+
+Reviewers: #kwin, davidedmundson
+
+Reviewed By: #kwin, davidedmundson
+
+Subscribers: kwin
+
+Tags: #kwin
+
+Differential Revision: https://phabricator.kde.org/D16846
+---
+ abstract_client.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/abstract_client.cpp b/abstract_client.cpp
+index b4628f2..ed72b9c 100644
+--- a/abstract_client.cpp
 b/abstract_client.cpp
+@@ -1457,13 +1457,13 @@ void AbstractClient::keyPressEvent(uint key_code)
+ case Qt::Key_Space:
+ case Qt::Key_Return:
+ case Qt::Key_Enter:
+-finishMoveResize(false);
+ setMoveResizePointerButtonDown(false);
++finishMoveResize(false);
+ updateCursor();
+ break;
+ case Qt::Key_Escape:
+-finishMoveResize(true);
+ setMoveResizePointerButtonDown(false);
++finishMoveResize(true);
+ updateCursor();
+ break;
+ default:
+-- 
+cgit v0.11.2

diff --git a/kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch 
b/kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch
new file mode 100644
index 000..4e480a06be8
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch
@@ -0,0 +1,137 @@
+From ad28da84e78c7eb7ff1e608c4819707b2142daea Mon Sep 17 00:00:00 2001
+From: Vlad Zagorodniy 
+Date: Mon, 5 Nov 2018 14:59:42 +0200
+Subject: [effects/slidingpopups] Don't crash when sliding virtual desktops
+
+Summary:
+If you switch virtual desktops while krunner is sliding in, then
+depending on whether your distro strips assert statements away,
+KWin can crash.
+
+The reason why it crashes is the sliding popups effect tries to unref
+deleted windows that it hasn't referenced before (if there is an active
+full screen effect, then popups won't be slided out, which in its turn
+means that we won't reference deleted windows). So, in the end, the
+refcount of those windows can be -1. That triggers an assert statement
+in the destructor of the Deleted class, which checks whether the
+refcount is equal to 0.
+
+Popups are not slided while there is an active full screen effect because
+we don't know what the full screen effect does.
+
+This patch 

[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2018-01-14 Thread Andreas Sturmlechner
commit: 7a032cfe2cf568e79295de64bce575f9b3cd8811
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Mon Jan 15 00:16:37 2018 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Mon Jan 15 00:17:32 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a032cfe

kde-plasma/kwin: Fix build w/ cmake-3.10

Reported-by: Mike Lothian  fireburn.co.uk>
Closes: https://bugs.gentoo.org/644604
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 kde-plasma/kwin/files/kwin-5.11.5-cmake-3.10.patch | 49 ++
 kde-plasma/kwin/kwin-5.11.5.ebuild |  5 ++-
 2 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/kwin/files/kwin-5.11.5-cmake-3.10.patch 
b/kde-plasma/kwin/files/kwin-5.11.5-cmake-3.10.patch
new file mode 100644
index 000..1b7c6145578
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.11.5-cmake-3.10.patch
@@ -0,0 +1,49 @@
+From cd544890ced4192d07467c89e23adbb62d8cea5c Mon Sep 17 00:00:00 2001
+From: Milian Wolff 
+Date: Mon, 18 Dec 2017 11:40:35 +0100
+Subject: Fix build with CMake 3.10
+
+Looks like a classic false-positive, but this makes the compile
+pass for me without making the code harder to read:
+
+AutoMoc error
+-
+  
"/ssd/milian/projects/kf5/src/kde/workspace/kwin/kcmkwin/kwinscripts/main.cpp"
+The file contains a K_PLUGIN_FACTORY macro, but does not include "main.moc"!
+Consider to
+ - add #include "main.moc"
+ - enable SKIP_AUTOMOC for this file
+
+So we just add the include and then get rid of the duplicate
+definition of the plugin factory and the problem is resolved.
+---
+ kcmkwin/kwinscripts/main.cpp   | 2 ++
+ kcmkwin/kwinscripts/module.cpp | 2 --
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kcmkwin/kwinscripts/main.cpp b/kcmkwin/kwinscripts/main.cpp
+index f5ee04b..baa5175 100644
+--- a/kcmkwin/kwinscripts/main.cpp
 b/kcmkwin/kwinscripts/main.cpp
+@@ -22,3 +22,5 @@
+ 
+ K_PLUGIN_FACTORY(KcmKWinScriptsFactory,
+  registerPlugin("kwin-scripts");)
++
++#include "main.moc"
+diff --git a/kcmkwin/kwinscripts/module.cpp b/kcmkwin/kwinscripts/module.cpp
+index a0d698e..ccf7d41 100644
+--- a/kcmkwin/kwinscripts/module.cpp
 b/kcmkwin/kwinscripts/module.cpp
+@@ -40,8 +40,6 @@
+ 
+ #include "version.h"
+ 
+-K_PLUGIN_FACTORY_DECLARATION(KcmKWinScriptsFactory)
+-
+ Module::Module(QWidget *parent, const QVariantList ) :
+ KCModule(parent, args),
+ ui(new Ui::Module),
+-- 
+cgit v0.11.2
+

diff --git a/kde-plasma/kwin/kwin-5.11.5.ebuild 
b/kde-plasma/kwin/kwin-5.11.5.ebuild
index 1a238668058..3cffda51d8d 100644
--- a/kde-plasma/kwin/kwin-5.11.5.ebuild
+++ b/kde-plasma/kwin/kwin-5.11.5.ebuild
@@ -84,7 +84,10 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
-PATCHES=( "${FILESDIR}/${PN}-5.10.95-test-optional.patch" )
+PATCHES=(
+   "${FILESDIR}/${PN}-5.10.95-test-optional.patch"
+   "${FILESDIR}/${PN}-5.11.5-cmake-3.10.patch"
+)
 
 src_prepare() {
kde5_src_prepare



[gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/files/, kde-plasma/kwin/

2017-06-10 Thread Andreas Sturmlechner
commit: 35c1419142a37a2be44c1a66d91f57b9b84382b8
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sat Jun 10 16:10:39 2017 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sat Jun 10 16:10:39 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35c14191

kde-plasma/kwin: Fix build with future glibc

Gentoo-bug: 603138

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 .../kwin/files/kwin-5.8.7-glibc-sysmacros.patch| 38 ++
 kde-plasma/kwin/kwin-5.10.1.ebuild |  2 ++
 kde-plasma/kwin/kwin-5.8.7.ebuild  |  2 ++
 kde-plasma/kwin/kwin-5.9.5.ebuild  |  2 ++
 4 files changed, 44 insertions(+)

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
new file mode 100644
index 000..61c07feaee3
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.8.7-glibc-sysmacros.patch
@@ -0,0 +1,38 @@
+commit 8efef12eeb377e9087551e333d65631968c80e5f
+Author: Andreas Sturmlechner 
+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 
.
+ #include 
+ 
+ #include 
++#include 
++#ifndef major
++#include 
++#endif
+ #include 
+ #include "utils.h"
+ 

diff --git a/kde-plasma/kwin/kwin-5.10.1.ebuild 
b/kde-plasma/kwin/kwin-5.10.1.ebuild
index 3566ab51d84..30a4b71b6a2 100644
--- a/kde-plasma/kwin/kwin-5.10.1.ebuild
+++ b/kde-plasma/kwin/kwin-5.10.1.ebuild
@@ -87,6 +87,8 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
+PATCHES=( "${FILESDIR}/${PN}-5.8.7-glibc-sysmacros.patch" )
+
 src_prepare() {
kde5_src_prepare
use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"

diff --git a/kde-plasma/kwin/kwin-5.8.7.ebuild 
b/kde-plasma/kwin/kwin-5.8.7.ebuild
index bfbefa0351d..aba9f3344de 100644
--- a/kde-plasma/kwin/kwin-5.8.7.ebuild
+++ b/kde-plasma/kwin/kwin-5.8.7.ebuild
@@ -89,6 +89,8 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
+PATCHES=( "${FILESDIR}/${P}-glibc-sysmacros.patch" )
+
 src_prepare() {
kde5_src_prepare
use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"

diff --git a/kde-plasma/kwin/kwin-5.9.5.ebuild 
b/kde-plasma/kwin/kwin-5.9.5.ebuild
index 77c9c31ad8b..222df722d24 100644
--- a/kde-plasma/kwin/kwin-5.9.5.ebuild
+++ b/kde-plasma/kwin/kwin-5.9.5.ebuild
@@ -88,6 +88,8 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
+PATCHES=( "${FILESDIR}/${PN}-5.8.7-glibc-sysmacros.patch" )
+
 src_prepare() {
kde5_src_prepare
use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"