diff -Nru gdm3-42.0/debian/changelog gdm3-42.0/debian/changelog --- gdm3-42.0/debian/changelog 2023-04-20 13:27:53.000000000 +0000 +++ gdm3-42.0/debian/changelog 2023-06-01 10:37:58.000000000 +0000 @@ -1,3 +1,11 @@ +gdm3 (42.0-1ubuntu7.22.04.3) jammy; urgency=medium + + * debian/patches/ubuntu/gitlab_clearing_signal.patch: + - clear signal handlers after udev settle to avoid unexpected session + logouts, thanks Ghadi Rahme (lp: #2020641) + + -- Sebastien Bacher Thu, 01 Jun 2023 12:37:58 +0200 + gdm3 (42.0-1ubuntu7.22.04.2) jammy; urgency=medium [ Daniel van Vugt ] diff -Nru gdm3-42.0/debian/patches/series gdm3-42.0/debian/patches/series --- gdm3-42.0/debian/patches/series 2023-04-20 13:27:53.000000000 +0000 +++ gdm3-42.0/debian/patches/series 2023-06-01 10:37:58.000000000 +0000 @@ -24,3 +24,4 @@ ubuntu/prefer_ubuntu_session_fallback.patch ubuntu/XSession-Use-x-terminal-emulator-as-fallback-instead-of-x.patch ubuntu/Revert-data-Disable-GDM-on-hybrid-graphics-laptops-with-v.patch +ubuntu/gitlab_clearing_signal.patch diff -Nru gdm3-42.0/debian/patches/ubuntu/gitlab_clearing_signal.patch gdm3-42.0/debian/patches/ubuntu/gitlab_clearing_signal.patch --- gdm3-42.0/debian/patches/ubuntu/gitlab_clearing_signal.patch 1970-01-01 00:00:00.000000000 +0000 +++ gdm3-42.0/debian/patches/ubuntu/gitlab_clearing_signal.patch 2023-06-01 10:37:58.000000000 +0000 @@ -0,0 +1,37 @@ +# +# Upstream: https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/210 +# +From 663c57a4080dcddfbd1909f9c7fa857452d14d32 Mon Sep 17 00:00:00 2001 +From: Ghadi Rahme +Date: Wed, 24 May 2023 10:10:14 +0000 +Subject: [PATCH] Clearing signal handler after udev settle to avoid sudden + logout + +--- + daemon/gdm-local-display-factory.c | 3 +++ + 1 file changed, 3 insertions(+) + +Index: gdm/daemon/gdm-local-display-factory.c +=================================================================== +--- gdm.orig/daemon/gdm-local-display-factory.c 2023-06-01 12:34:35.832176903 +0200 ++++ gdm/daemon/gdm-local-display-factory.c 2023-06-01 12:34:35.832176903 +0200 +@@ -645,16 +645,19 @@ + + if (factory->seat0_has_platform_graphics) { + g_debug ("GdmLocalDisplayFactory: udev settled, platform graphics enabled."); ++ g_clear_signal_handler (&factory->uevent_handler_id, factory->gudev_client); + return TRUE; + } + + if (factory->seat0_has_boot_up_graphics) { + g_debug ("GdmLocalDisplayFactory: udev settled, boot up graphics available."); ++ g_clear_signal_handler (&factory->uevent_handler_id, factory->gudev_client); + return TRUE; + } + + if (factory->seat0_graphics_check_timed_out) { + g_debug ("GdmLocalDisplayFactory: udev timed out, proceeding anyway."); ++ g_clear_signal_handler (&factory->uevent_handler_id, factory->gudev_client); + return TRUE; + } +