58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From f7295f73f424e22eacb940c92e43326d75c901e1 Mon Sep 17 00:00:00 2001
|
|
From: Ray Strode <rstrode@redhat.com>
|
|
Date: Mon, 22 Jul 2024 14:58:47 -0400
|
|
Subject: [PATCH 1/3] display: Add new FAILING state
|
|
|
|
We need to be able to detect failure and quit plymouth before
|
|
reacting to the failure (and starting Xorg).
|
|
|
|
This commit adds a new FAILING state that gets run before FAILED,
|
|
so things can be ordered properly
|
|
d#
|
|
---
|
|
daemon/gdm-display.c | 1 +
|
|
daemon/gdm-display.h | 1 +
|
|
daemon/gdm-local-display-factory.c | 2 ++
|
|
3 files changed, 4 insertions(+)
|
|
|
|
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
|
|
index 3446785..b8af350 100644
|
|
--- a/daemon/gdm-display.c
|
|
+++ b/daemon/gdm-display.c
|
|
@@ -694,6 +694,7 @@ gdm_display_unmanage (GdmDisplay *self)
|
|
|
|
if (!priv->session_registered) {
|
|
g_warning ("GdmDisplay: Session never registered, failing");
|
|
+ _gdm_display_set_status (self, GDM_DISPLAY_FAILING);
|
|
_gdm_display_set_status (self, GDM_DISPLAY_FAILED);
|
|
} else {
|
|
_gdm_display_set_status (self, GDM_DISPLAY_UNMANAGED);
|
|
diff --git a/daemon/gdm-display.h b/daemon/gdm-display.h
|
|
index ef3736c..bd048cd 100644
|
|
--- a/daemon/gdm-display.h
|
|
+++ b/daemon/gdm-display.h
|
|
@@ -36,6 +36,7 @@ typedef enum {
|
|
GDM_DISPLAY_MANAGED,
|
|
GDM_DISPLAY_WAITING_TO_FINISH,
|
|
GDM_DISPLAY_FINISHED,
|
|
+ GDM_DISPLAY_FAILING,
|
|
GDM_DISPLAY_FAILED,
|
|
} GdmDisplayStatus;
|
|
|
|
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
|
|
index 61b7b45..6df9e84 100644
|
|
--- a/daemon/gdm-local-display-factory.c
|
|
+++ b/daemon/gdm-local-display-factory.c
|
|
@@ -577,6 +577,8 @@ on_display_status_changed (GdmDisplay *display,
|
|
gdm_local_display_factory_sync_seats (factory);
|
|
}
|
|
break;
|
|
+ case GDM_DISPLAY_FAILING:
|
|
+ break;
|
|
case GDM_DISPLAY_FAILED:
|
|
/* leave the display number in factory->used_display_numbers
|
|
so that it doesn't get reused */
|
|
--
|
|
2.44.0
|
|
|