40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
From fae65f1cdd6446042b31ccd0eafd7a4c0b6623e3 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
|
|
Date: Fri, 5 Feb 2016 10:30:19 +0100
|
|
Subject: [PATCH 1/1] [greeter] Dont quit when last window closes
|
|
|
|
Qt allows to have no screens. If all XRandR screens are disconnected
|
|
there are also no QScreens. This is from an X11 perspective wrong, but
|
|
we have to deal with it. No QScreens means that all views are destroyed
|
|
and no new ones are created. Thus all windows close and the greeter
|
|
exited successfully which in turn unlocked the screen.
|
|
|
|
This change ensures that the greeter doesn't exit when all windows close.
|
|
|
|
Funnily this was not a problem with the well known issue of Qt
|
|
crashing when all screens are disconnected. The lock screen handles
|
|
crashes gracefully and just restarts or more likely Qt also crashes
|
|
the application using KSld and thus taking down the complete session.
|
|
|
|
BUG: 358125
|
|
FIXED-IN: 5.5.5
|
|
---
|
|
greeter/main.cpp | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/greeter/main.cpp b/greeter/main.cpp
|
|
index e4e679e..5625d36 100644
|
|
--- a/greeter/main.cpp
|
|
+++ b/greeter/main.cpp
|
|
@@ -59,6 +59,7 @@ int main(int argc, char* argv[])
|
|
qputenv("QT_IM_MODULE", QByteArrayLiteral("compose"));
|
|
}
|
|
ScreenLocker::UnlockApp app(argc, argv);
|
|
+ app.setQuitOnLastWindowClosed(false);
|
|
QCoreApplication::setApplicationName(QStringLiteral("kscreenlocker_greet"));
|
|
QCoreApplication::setApplicationVersion(QStringLiteral("0.1"));
|
|
QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org"));
|
|
--
|
|
2.6.2
|
|
|