- Add gdm-Fix-type-of-signal-connection-id.patch: backport upstream commit f0f527ff (bsc#1197521). - Add gdm-Stop-listening-to-udev-events.patch: backport upstream commit 307c683f (bsc#1197521). OBS-URL: https://build.opensuse.org/request/show/966304 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=497
46 lines
1.5 KiB
Diff
46 lines
1.5 KiB
Diff
From 307c683f00e1711973139837992ca0f6f55314a5 Mon Sep 17 00:00:00 2001
|
|
From: Ray Strode <rstrode@redhat.com>
|
|
Date: Tue, 22 Mar 2022 10:16:58 -0400
|
|
Subject: [PATCH] local-display-factory: Stop listening to udev events when
|
|
necessary
|
|
|
|
At the moment we still listen for udev events after we've determined
|
|
the system has settled (or a timeout has happened).
|
|
|
|
This means if there is a udev event late, the login screen could get
|
|
brought back up while the user is using the system.
|
|
|
|
This commit fixes that.
|
|
---
|
|
daemon/gdm-local-display-factory.c | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
|
|
index 4a66ad8f..b3335cd4 100644
|
|
--- a/daemon/gdm-local-display-factory.c
|
|
+++ b/daemon/gdm-local-display-factory.c
|
|
@@ -710,6 +710,10 @@ udev_is_settled (GdmLocalDisplayFactory *factory)
|
|
|
|
g_debug ("GdmLocalDisplayFactory: udev has %ssettled enough for graphics.", is_settled? "" : "not ");
|
|
g_list_free_full (devices, g_object_unref);
|
|
+
|
|
+ if (is_settled)
|
|
+ g_clear_signal_handler (&factory->uevent_handler_id, factory->gudev_client);
|
|
+
|
|
return is_settled;
|
|
}
|
|
#endif
|
|
@@ -1287,9 +1291,6 @@ on_uevent (GUdevClient *client,
|
|
if (!udev_is_settled (factory))
|
|
return;
|
|
|
|
- g_signal_handler_disconnect (factory->gudev_client, factory->uevent_handler_id);
|
|
- factory->uevent_handler_id = 0;
|
|
-
|
|
gdm_settings_direct_reload ();
|
|
ensure_display_for_seat (factory, "seat0");
|
|
}
|
|
--
|
|
2.35.1
|
|
|