summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaoguang Wang <xwang@suse.com>2021-11-19 14:32:00 +0800
committerRay Strode <halfline@gmail.com>2022-01-11 17:59:44 +0000
commit5cc096cebc7aaf494a01d58a699eb7cf39bbefd8 (patch)
treefe468f2985c2c88c901287447f1111371c3ead81
parent22c1544bc77971652da67c17cd876d4f81002294 (diff)
downloadgdm-5cc096cebc7aaf494a01d58a699eb7cf39bbefd8.tar.gz
local-display-factory: restart greeter session when crashed
When active vt is gdm initial vt, restart greeter session. Avoiding the blank screen when greeter session crashed. https://gitlab.gnome.org/GNOME/gdm/-/issues/735
-rw-r--r--daemon/gdm-local-display-factory.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index c00e1c47..1b43d0c1 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -539,7 +539,8 @@ on_display_status_changed (GdmDisplay *display,
* ensures we get a new login screen when the user logs out,
* if there isn't one.
*/
- if (is_local && g_strcmp0 (session_class, "greeter") != 0) {
+ if (is_local &&
+ (g_strcmp0 (session_class, "greeter") != 0 || factory->active_vt == GDM_INITIAL_VT)) {
/* reset num failures */
factory->num_failures = 0;