diff options
Diffstat (limited to 'x11-misc/sddm/files')
-rw-r--r-- | x11-misc/sddm/files/sddm-0.17.0-consolekit.patch | 22 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.17.0-switchtogreeter-r1.patch | 54 |
2 files changed, 76 insertions, 0 deletions
diff --git a/x11-misc/sddm/files/sddm-0.17.0-consolekit.patch b/x11-misc/sddm/files/sddm-0.17.0-consolekit.patch new file mode 100644 index 000000000000..ca265d131454 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.17.0-consolekit.patch @@ -0,0 +1,22 @@ +From 7bd9f322182d840f3cfaee9a49f5cbd5f426aa1b Mon Sep 17 00:00:00 2001 +From: Erik Ridderby <tech@rby.nu> +Date: Sat, 12 May 2018 08:04:26 +0200 +Subject: [PATCH] Fixed typo that prevents ConsoleKit to be detected (#1027) + +--- + src/daemon/LogindDBusTypes.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon/LogindDBusTypes.cpp b/src/daemon/LogindDBusTypes.cpp +index 79c70312..011bb7f5 100644 +--- a/src/daemon/LogindDBusTypes.cpp ++++ b/src/daemon/LogindDBusTypes.cpp +@@ -63,7 +63,7 @@ LogindPathInternal::LogindPathInternal() + available = true; + serviceName = QStringLiteral("org.freedesktop.ConsoleKit"); + managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager"); +- managerIfaceName = QStringLiteral("/org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind ++ managerIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind + seatIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Seat"); + sessionIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Session"); + userIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.User"); diff --git a/x11-misc/sddm/files/sddm-0.17.0-switchtogreeter-r1.patch b/x11-misc/sddm/files/sddm-0.17.0-switchtogreeter-r1.patch new file mode 100644 index 000000000000..35982bceda21 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.17.0-switchtogreeter-r1.patch @@ -0,0 +1,54 @@ +Subject: [PATCH] Fix switchToGreeter not available without logind +From: Alexander Miller <alex.miller@gmx.de> + +Seats can't be created until SeatManager's signals are +connected to the DisplayManager, or the latter won't see +them and switchToGreeter doesn't work. So split SeatManager +initialization from its constructor and call initialize it +only after all connections have been set up in DaemonApp's +constructor. + +With logind there may have been enough delay before seats +got actually added so things would work, but it's still +cleaner to fix the order. + +Fixes: https://bugs.gentoo.org/644718 +Fixes: https://github.com/sddm/sddm/issues/824 + +--- a/src/daemon/SeatManager.h ++++ b/src/daemon/SeatManager.h +@@ -31,8 +31,9 @@ namespace SDDM { + class SeatManager : public QObject { + Q_OBJECT + public: +- explicit SeatManager(QObject *parent = 0); ++ explicit SeatManager(QObject *parent = 0) : QObject(parent) {} + ++ void initialize(); + void createSeat(const QString &name); + void removeSeat(const QString &name); + void switchToGreeter(const QString &seat); +--- a/src/daemon/SeatManager.cpp ++++ b/src/daemon/SeatManager.cpp +@@ -93,8 +93,7 @@ namespace SDDM { + } + } + +- SeatManager::SeatManager(QObject *parent) : QObject(parent) { +- ++ void SeatManager::initialize() { + if (DaemonApp::instance()->testing() || !Logind::isAvailable()) { + //if we don't have logind/CK2, just create a single seat immediately and don't do any other connections + createSeat(QStringLiteral("seat0")); +--- a/src/daemon/DaemonApp.cpp ++++ b/src/daemon/DaemonApp.cpp +@@ -75,6 +75,9 @@ namespace SDDM { + + // log message + qDebug() << "Starting..."; ++ ++ // initialize seats only after signals are connected ++ m_seatManager->initialize(); + } + + bool DaemonApp::testing() const { |