--- file_not_specified_in_diff +++ file_not_specified_in_diff @@ -, +, @@ --- sddm-0.17.0/src/daemon/SeatManager.h +++ sddm-0.17.0/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) {} + void initialize(); void createSeat(const QString &name); void removeSeat(const QString &name); void switchToGreeter(const QString &seat); --- sddm-0.17.0/src/daemon/SeatManager.cpp +++ sddm-0.17.0/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")); --- sddm-0.17.0/src/daemon/DaemonApp.cpp +++ sddm-0.17.0/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 {