summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin/files/kwin-5.24.4-dont-use-xcb-in-wayland.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kwin/files/kwin-5.24.4-dont-use-xcb-in-wayland.patch')
-rw-r--r--kde-plasma/kwin/files/kwin-5.24.4-dont-use-xcb-in-wayland.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.24.4-dont-use-xcb-in-wayland.patch b/kde-plasma/kwin/files/kwin-5.24.4-dont-use-xcb-in-wayland.patch
new file mode 100644
index 000000000000..667b91b8dc5c
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.4-dont-use-xcb-in-wayland.patch
@@ -0,0 +1,41 @@
+From 7a26f93cb579cf6b1cbc1e32790f93be70013157 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Tue, 12 Apr 2022 15:45:52 +0200
+Subject: [PATCH] effects/kscreen: don't use xcb on Wayland
+
+BUG: 450564
+FIXED-IN: 5.24.5
+(cherry picked from commit db3f27336f2172fd70be3411874d9bbeb3db6a24)
+---
+ src/effects/kscreen/kscreen.cpp | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/effects/kscreen/kscreen.cpp b/src/effects/kscreen/kscreen.cpp
+index 9484399756..0673915aad 100644
+--- a/src/effects/kscreen/kscreen.cpp
++++ b/src/effects/kscreen/kscreen.cpp
+@@ -44,15 +44,15 @@ namespace KWin
+
+ KscreenEffect::KscreenEffect()
+ : Effect()
+- , m_atom(effects->announceSupportProperty("_KDE_KWIN_KSCREEN_SUPPORT", this))
++ , m_atom(effects->waylandDisplay() ? XCB_ATOM_NONE : effects->announceSupportProperty("_KDE_KWIN_KSCREEN_SUPPORT", this))
+ {
+ initConfig<KscreenConfig>();
+- connect(effects, &EffectsHandler::propertyNotify, this, &KscreenEffect::propertyNotify);
+- connect(effects, &EffectsHandler::xcbConnectionChanged, this,
+- [this] {
++ if (!effects->waylandDisplay()) {
++ connect(effects, &EffectsHandler::propertyNotify, this, &KscreenEffect::propertyNotify);
++ connect(effects, &EffectsHandler::xcbConnectionChanged, this, [this]() {
+ m_atom = effects->announceSupportProperty(QByteArrayLiteral("_KDE_KWIN_KSCREEN_SUPPORT"), this);
+- }
+- );
++ });
++ }
+ reconfigure(ReconfigureAll);
+
+ const QList<EffectScreen *> screens = effects->screens();
+--
+GitLab
+