SHA256
1
0
forked from pool/kcm_sddm

Plasma 5.14 Beta - I'll try to add tarball signatures and .keyring in a followup sr. The unresolvables are due to a missing verbump in KUF, but it built fine before adjusting kf5_version.

OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kcm_sddm?expand=0&rev=171
This commit is contained in:
Wolfgang Bauer 2018-09-15 12:29:39 +00:00 committed by Git OBS Bridge
parent 9f67452924
commit 35b13ca028
8 changed files with 105 additions and 41 deletions

View File

@ -0,0 +1,41 @@
From 0497a6e917c9cf6c49d30658d11d4e624037610d Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Fri, 14 Sep 2018 11:35:12 +0200
Subject: [PATCH] Workaround QTBUG-47066 to fix crash on startup
Summary:
The lambda returns a QStringBuilder which contains dangling references.
Work around that by converting to QString inside the lambda's context.
Test Plan: Does not crash anymore.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15498
---
src/sddmkcm.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Index: sddm-kcm-5.13.90/src/sddmkcm.cpp
===================================================================
--- sddm-kcm-5.13.90.orig/src/sddmkcm.cpp
+++ sddm-kcm-5.13.90/src/sddmkcm.cpp
@@ -62,10 +62,12 @@ SddmKcm::SddmKcm(QWidget *parent, const
// This does not listen for new config files in the directory.
QStringList configFiles = QDir(QString::fromLatin1(SDDM_CONFIG_DIR)).entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware),
systemConfigFiles = QDir(QString::fromLatin1(SDDM_SYSTEM_CONFIG_DIR)).entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::LocaleAware);
+
+ // QStringBuilder keeps dangling references, so force return of QString (QTBUG-47066)
std::transform(systemConfigFiles.begin(), systemConfigFiles.end(), systemConfigFiles.begin(),
- [](const QString &filename) { return QStringLiteral(SDDM_SYSTEM_CONFIG_DIR "/") + filename; });
+ [](const QString &filename) -> QString { return QStringLiteral(SDDM_SYSTEM_CONFIG_DIR "/") + filename; });
std::transform(configFiles.begin(), configFiles.end(), configFiles.begin(),
- [](const QString &filename) { return QStringLiteral(SDDM_CONFIG_DIR "/") + filename; });
+ [](const QString &filename) -> QString { return QStringLiteral(SDDM_CONFIG_DIR "/") + filename; });
mSddmConfig->addConfigSources(systemConfigFiles + configFiles);

View File

@ -0,0 +1,16 @@
Index: sddm-kcm-5.13.80git.20180704T081749~7a9b287/src/advanceconfig.cpp
===================================================================
--- sddm-kcm-5.13.80git.20180704T081749~7a9b287.orig/src/advanceconfig.cpp
+++ sddm-kcm-5.13.80git.20180704T081749~7a9b287/src/advanceconfig.cpp
@@ -122,7 +122,10 @@ QVariantMap AdvanceConfig::save()
}
args[QStringLiteral("sddm.conf/Autologin/User")] = ( configUi->autoLogin->isChecked() ) ? configUi->userList->currentText() : QString();
- args[QStringLiteral("sddm.conf/Autologin/Session")] = ( configUi->autoLogin->isChecked() ) ? configUi->sessionList->currentData() : QString();
+ if (configUi->autoLogin->isChecked()) { // only save the Autologin session if Autologin is actually enabled otherwise we would override the default session with "" if disabled
+ args[QStringLiteral("sddm.conf/Autologin/Session")] = configUi->sessionList->currentData();
+ }
+
args[QStringLiteral("sddm.conf/Autologin/Relogin")] = configUi->reloginAfterQuit->isChecked();
//TODO session

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Thu Sep 13 17:24:59 UTC 2018 - fabian@ritter-vogt.de
- Update to 5.13.90
* New feature release
* For more details please see:
* https://www.kde.org/announcements/plasma-5.13.90.php
- Changes since 5.13.5:
* QT_MIN_VERSIONS is Qt 5.11 for Plasma 5.14. Agreed at kickoff meeting. Set everywhere for clearity and consistency.
* Sync MAX_UID with upstream
* Remove deprecated class
* Check version
* Remove unused include moc
* Use nullptr. Use const'ref
* Make compile with strict compile flags (I found a missing i18n too)
- Refresh patches remove-wayland-suffix.patch
- Replace set-default-session-to-plasma5-for-autologin.patch with
dont-set-empty-autologin.patch
- Add patch to fix crash on startup:
* 0001-Workaround-QTBUG-47066-to-fix-crash-on-startup.patch
-------------------------------------------------------------------
Tue Sep 4 10:58:40 UTC 2018 - fabian@ritter-vogt.de

View File

@ -18,21 +18,23 @@
%bcond_without lang
Name: kcm_sddm
Version: 5.13.5
Version: 5.13.90
Release: 0
Summary: A sddm control module for KDE
License: GPL-2.0-only
Group: System/GUI/KDE
Url: https://projects.kde.org/projects/kdereview/sddm-kcm/repository
Source: http://download.kde.org/stable/plasma/%{version}/sddm-kcm-%{version}.tar.xz
# PATCH-FIX-OPENSUSE set-default-session-to-plasma5-for-autologin.patch boo#951886 wbauer@tmo.at -- set the default autologin session to plasma5.desktop
Patch1: set-default-session-to-plasma5-for-autologin.patch
Source: http://download.kde.org/unstable/plasma/%{version}/sddm-kcm-%{version}.tar.xz
# PATCH-FIX-OPENSUSE
Patch1: dont-set-empty-autologin.patch
# PATCH-FIX-OPENSUSE
Patch2: 0002-Support-default.session-symlink.patch
# PATCH-FIX-OPENSUSE
Patch3: 0001-Replace-autologin-configuration-with-a-note-to-use-Y.patch
# PATCH-FIX-UPSTREAM
Patch4: remove-wayland-suffix.patch
# PATCH-FIX-UPSTREAM
Patch5: 0001-Workaround-QTBUG-47066-to-fix-crash-on-startup.patch
BuildRequires: extra-cmake-modules >= 1.0.0
BuildRequires: kf5-filesystem
BuildRequires: pkgconfig

View File

@ -1,24 +1,32 @@
From c6fda4bb877a71687b37e6a19f9daf7298e32f98 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Don't add a (Wayland) suffix to Wayland sessions
Date: Sat, 7 Jul 2018 20:34:44 +0200
Subject: [PATCH] Don't add a (Wayland) suffix to Wayland sessions
It got removed from sddm as well.
---
src/sessionmodel.cpp | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
Index: sddm-kcm-5.12.5/src/sessionmodel.cpp
===================================================================
--- sddm-kcm-5.12.5.orig/src/sessionmodel.cpp
+++ sddm-kcm-5.12.5/src/sessionmodel.cpp
@@ -81,13 +81,8 @@ void SessionModel::loadDir(const QString
diff --git a/src/sessionmodel.cpp b/src/sessionmodel.cpp
index ff63dbd..eeb962c 100644
--- a/src/sessionmodel.cpp
+++ b/src/sessionmodel.cpp
@@ -81,13 +81,8 @@ void SessionModel::loadDir(const QString &path, SessionType type)
if (current_section != QLatin1String("Desktop Entry"))
continue; // We are only interested in the "Desktop Entry" section
- if (line.startsWith("Name=")) {
+ if (line.startsWith("Name="))
- if (line.startsWith(QLatin1String("Name="))) {
+ if (line.startsWith(QLatin1String("Name=")))
si->name = line.mid(5);
- if (type == SessionTypeWayland) {
- //we want to exactly match the SDDM prompt which is formatted in this way
- si->name = i18nc("%1 is the name of a session", "%1 (Wayland)", si->name);
- }
- }
if (line.startsWith("Exec="))
if (line.startsWith(QLatin1String("Exec=")))
si->exec = line.mid(5);
if (line.startsWith("Comment="))
if (line.startsWith(QLatin1String("Comment=")))
--
2.17.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90a1f9f12f2ea6e92693ee6c23f8fd75a1ea007f30b35837f5b80328d5404f88
size 60560

3
sddm-kcm-5.13.90.tar.xz Normal file
View File

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

View File

@ -1,24 +0,0 @@
Index: sddm-kcm-5.12.2/src/advanceconfig.cpp
===================================================================
--- sddm-kcm-5.12.2.orig/src/advanceconfig.cpp
+++ sddm-kcm-5.12.2/src/advanceconfig.cpp
@@ -90,7 +90,7 @@ void AdvanceConfig::load()
const QString currentUser = mConfig->group("Autologin").readEntry("User", "");
configUi->userList->setCurrentIndex(userModel->indexOf(currentUser));
- const QString autologinSession = mConfig->group("Autologin").readEntry("Session", "");
+ const QString autologinSession = mConfig->group("Autologin").readEntry("Session", "plasma5.desktop");
configUi->sessionList->setCurrentIndex(sessionModel->indexOf(autologinSession));
configUi->autoLogin->setChecked(!currentUser.isEmpty());
@@ -123,7 +123,9 @@ QVariantMap AdvanceConfig::save()
}
args["sddm.conf/Autologin/User"] = ( configUi->autoLogin->isChecked() ) ? configUi->userList->currentText() : "";
- args["sddm.conf/Autologin/Session"] = ( configUi->autoLogin->isChecked() ) ? configUi->sessionList->currentData() : "";
+ if (configUi->autoLogin->isChecked()) { // only save the Autologin session if Autologin is actually enabled otherwise we would override the default session with "" if disabled
+ args["sddm.conf/Autologin/Session"] = configUi->sessionList->currentData();
+ }
args["sddm.conf/Autologin/Relogin"] = configUi->reloginAfterQuit->isChecked();
//TODO session