gdm/gdm-restart-session-when-X-server-restart.patch

27 lines
1.4 KiB
Diff

--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -552,8 +552,10 @@ on_display_status_changed (GdmDisplay
* ensures we get a new login screen when the user logs out,
* if there isn't one.
*/
+ g_debug ("GdmLocalDisplayFactory: session_class = %s active_vt = %u", session_class, factory->active_vt);
if (is_local &&
- (g_strcmp0 (session_class, "greeter") != 0 || factory->active_vt == GDM_INITIAL_VT)) {
+ (g_strcmp0 (session_class, "greeter") != 0 || factory->active_vt == GDM_INITIAL_VT
+ || factory->active_vt == 0)) {
/* reset num failures */
factory->num_failures = 0;
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -1553,7 +1553,8 @@ on_display_status_changed (GdmDisplay *d
}
#endif
- g_object_set_data (G_OBJECT (display), "gdm-user-session", NULL);
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL )
+ g_object_set_data (G_OBJECT (display), "gdm-user-session", NULL);
if (display == manager->automatic_login_display) {
g_clear_weak_pointer (&manager->automatic_login_display);