SHA256
1
0
forked from pool/kded

KDE Frameworks 5.46.0

OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kded?expand=0&rev=147
This commit is contained in:
Fabian Vogt 2018-05-15 12:58:08 +00:00 committed by Git OBS Bridge
parent da0a19667e
commit d1baab62f9
5 changed files with 17 additions and 92 deletions

View File

@ -1,84 +0,0 @@
From e213b408ac85f54d01eab82f71bc4210a92a28e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= <mgraesslin@kde.org>
Date: Wed, 28 Mar 2018 10:28:02 +0200
Subject: [PATCH] Add platform detection and adjustment to kded
Summary:
Current Plasma/master branch does no longer set the QT_QPA_PLATFORM env
variable on Wayland. As kded is a process tightly connected to the
workspace it also needs to pick wayland QPA in a Wayland session. This
change brings in the adjustment from plasma-workspace and ensures that
kded works correctly on any Wayland desktop environment, being it
Plasma, GNOME or Weston.
Test Plan: Restarted session, kscreen got layout correctly
Reviewers: #frameworks, #plasma, apol, romangg
Reviewed By: #plasma, romangg
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11583
---
src/kded.cpp | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/src/kded.cpp b/src/kded.cpp
index b1f02ea..182555e 100644
--- a/src/kded.cpp
+++ b/src/kded.cpp
@@ -689,6 +689,33 @@ static void setupAppInfo(QApplication *app)
app->setApplicationVersion(QStringLiteral(KDED_VERSION_STRING));
}
+static bool detectPlatform(int argc, char **argv)
+{
+ if (qEnvironmentVariableIsSet("QT_QPA_PLATFORM")) {
+ return false;
+ }
+ for (int i = 0; i < argc; i++) {
+ if (qstrcmp(argv[i], "-platform") == 0 ||
+ qstrcmp(argv[i], "--platform") == 0 ||
+ QByteArray(argv[i]).startsWith("-platform=") ||
+ QByteArray(argv[i]).startsWith("--platform=")) {
+ return false;
+ }
+ }
+ const QByteArray sessionType = qgetenv("XDG_SESSION_TYPE");
+ if (sessionType.isEmpty()) {
+ return false;
+ }
+ if (qstrcmp(sessionType, "wayland") == 0) {
+ qputenv("QT_QPA_PLATFORM", "wayland");
+ return true;
+ } else if (qstrcmp(sessionType, "x11") == 0) {
+ qputenv("QT_QPA_PLATFORM", "xcb");
+ return true;
+ }
+ return false;
+}
+
extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[])
{
#ifdef Q_OS_OSX
@@ -710,11 +737,16 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[])
// WABA: Make sure not to enable session management.
qunsetenv("SESSION_MANAGER");
+ const bool unsetQpa = detectPlatform(argc, argv);
+
// In older versions, QApplication creation was postponed until after
// testing for --check, in which case, only a QCoreApplication was created.
// Since that option is no longer used at startup, we removed that speed
// optimization for code clarity and easier support of standard parameters.
QApplication app(argc, argv);
+ if (unsetQpa) {
+ qunsetenv("QT_QPA_PLATFORM");
+ }
setupAppInfo(&app);
app.setQuitOnLastWindowClosed(false);
--
2.16.2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9ca9b14b961c00c3d7ee6ab7f801f4ceac20d5615051fa6f9ae5898f31f32463
size 37784

3
kded-5.46.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:590060c3c903e755e9bb13ab96ad35d636e9f8589efa3b501555dd2632ea4847
size 37876

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Sun May 13 21:03:01 UTC 2018 - lbeltrame@kde.org
- Update to 5.46.0
* New feature release
* For more details please see:
* https://www.kde.org/announcements/kde-frameworks-5.46.0.php
- Changes since 5.45.0:
* Add platform detection and adjustment to kded
- Dropped patches, now upstream:
* 0001-Add-platform-detection-and-adjustment-to-kded.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Apr 14 13:19:03 CEST 2018 - lbeltrame@kde.org Sat Apr 14 13:19:03 CEST 2018 - lbeltrame@kde.org

View File

@ -17,13 +17,13 @@
%bcond_without lang %bcond_without lang
%define _tar_path 5.45 %define _tar_path 5.46
# Full KF5 version (e.g. 5.33.0) # Full KF5 version (e.g. 5.33.0)
%{!?_kf5_version: %global _kf5_version %{version}} %{!?_kf5_version: %global _kf5_version %{version}}
# Last major and minor KF5 version (e.g. 5.33) # Last major and minor KF5 version (e.g. 5.33)
%{!?_kf5_bugfix_version: %global _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %{!?_kf5_bugfix_version: %global _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')}
Name: kded Name: kded
Version: 5.45.0 Version: 5.46.0
Release: 0 Release: 0
%define kf5_version %{version} %define kf5_version %{version}
BuildRequires: cmake >= 3.0 BuildRequires: cmake >= 3.0
@ -52,8 +52,6 @@ License: LGPL-2.1-or-later
Group: System/GUI/KDE Group: System/GUI/KDE
Url: http://www.kde.org Url: http://www.kde.org
Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM
Patch1: 0001-Add-platform-detection-and-adjustment-to-kded.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
@ -74,7 +72,6 @@ Development files.
%lang_package %lang_package
%prep %prep
%setup -q %setup -q
%autopatch -p1
%build %build
%cmake_kf5 -d build %cmake_kf5 -d build