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:
parent
9f67452924
commit
35b13ca028
41
0001-Workaround-QTBUG-47066-to-fix-crash-on-startup.patch
Normal file
41
0001-Workaround-QTBUG-47066-to-fix-crash-on-startup.patch
Normal 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);
|
||||
|
16
dont-set-empty-autologin.patch
Normal file
16
dont-set-empty-autologin.patch
Normal 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
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
3
sddm-kcm-5.13.90.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f6810eb1aad7ce09cf26d7c1de7f7a563b283689d8bc1aaaa0947a40e5e573eb
|
||||
size 61056
|
@ -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
|
Loading…
x
Reference in New Issue
Block a user