Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

Commit

Permalink
Fix xdg-desktop-portal-kde breakage with recent qt5-base (FS#75851)
Browse files Browse the repository at this point in the history
git-svn-id: file:///srv/repos/svn-packages/svn@456102 eb2447ed-0c53-47e4-bac8-5bc4a241df78
  • Loading branch information
antonio-rojas authored and svntogit committed Sep 14, 2022
1 parent b1d1b48 commit b0e1161
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 3 deletions.
49 changes: 49 additions & 0 deletions trunk/9bf0e56d.patch
@@ -0,0 +1,49 @@
From 9bf0e56da84de5e9bd2b3ff28bdb2cb1af6de91e Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Tue, 13 Sep 2022 13:54:04 +0200
Subject: [PATCH] delay ksplash until after env is set up

otherwise we can dbus invoke with the wrong environment. specifically
this happens with the latest qtbase changes that introduced color
picking support on wayland. when we start a qguiapplication with
incomplete environment that dbus invokes the xdg-portal system and that
in turn has an incomplete environment resulting in theming and the likes
not properly applying because the portal doesn't know that it runs
inside a plasma session.

https://invent.kde.org/qt/qt/qtbase/-/commit/2dc083df009a45c5dacfea27b0affeb85b01f847

BUG: 458865
---
startkde/startplasma-x11.cpp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
index f8123557e5..08a4c0d1c0 100644
--- a/startkde/startplasma-x11.cpp
+++ b/startkde/startplasma-x11.cpp
@@ -57,9 +57,6 @@ int main(int argc, char **argv)
}
}

- setupCursor(false);
- QScopedPointer<QProcess, KillBeforeDeleter> ksplash(setupKSplash());
-
runEnvironmentScripts();

out << "startkde: Starting up...\n";
@@ -80,6 +76,11 @@ int main(int argc, char **argv)
// variables (e.g. LANG and LC_*)
importSystemdEnvrionment();

+ // NOTE: Do not start QGuiApplications before setting up the environment. We'd be at risk of dbus invoking other
+ // processes with an incomplete environment.
+ setupCursor(false);
+ QScopedPointer<QProcess, KillBeforeDeleter> ksplash(setupKSplash());
+
if (!startPlasmaSession(false))
return 1;

--
GitLab

9 changes: 6 additions & 3 deletions trunk/PKGBUILD
Expand Up @@ -6,7 +6,7 @@
pkgbase=plasma-workspace
pkgname=(plasma-workspace plasma-wayland-session)
pkgver=5.25.5
pkgrel=2
pkgrel=3
pkgdesc='KDE Plasma Workspace'
arch=(x86_64)
url='https://kde.org/plasma-desktop/'
Expand All @@ -18,11 +18,13 @@ depends=(knotifyconfig ksystemstats ktexteditor libqalculate kde-cli-tools appst
makedepends=(extra-cmake-modules kdoctools gpsd baloo networkmanager-qt plasma-wayland-protocols kunitconversion kinit)
groups=(plasma)
source=(https://download.kde.org/stable/plasma/$pkgver/$pkgbase-$pkgver.tar.xz{,.sig} kde.pam
https://invent.kde.org/plasma/plasma-workspace/-/commit/c7ba560c.patch)
https://invent.kde.org/plasma/plasma-workspace/-/commit/c7ba560c.patch
9bf0e56d.patch)
sha256sums=('bd74390273a18b117932b883a085840b3f364da6756262217337ea03e278bc5f'
'SKIP'
'00090291204baabe9d6857d3b1419832376dd2e279087d718b64792691e86739'
'd6d050aa8e7a8827f2b6c9110425a10f3e1c738a65019821c320fa1102890203')
'd6d050aa8e7a8827f2b6c9110425a10f3e1c738a65019821c320fa1102890203'
'61598f2334a50ff1607d41c31fbe121350d8a64f4e265966a171beeb52182c33')
validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell <jr@jriddell.org>
'0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah <bshah@kde.org>
'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson <davidedmundson@kde.org>
Expand All @@ -31,6 +33,7 @@ options=(debug)

prepare() {
patch -d $pkgname-$pkgver -p1 < c7ba560c.patch # Fix infinite recursion in widget explorer
patch -d $pkgname-$pkgver -p1 < 9bf0e56d.patch # Fix xdg-desktop-portal-kde breakage with recent qt5-base
}

build() {
Expand Down

0 comments on commit b0e1161

Please sign in to comment.