[gdm/wip/fix-double-greeters: 4/5] local-display-factory: don't start two greeters at startup
- From: Iain Lane <iainl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm/wip/fix-double-greeters: 4/5] local-display-factory: don't start two greeters at startup
- Date: Wed, 8 Aug 2018 08:05:45 +0000 (UTC)
commit 0a79b557addebbb1737fec91a97b03fd8a445a9c
Author: Ray Strode <rstrode redhat com>
Date: Tue Aug 7 13:55:06 2018 -0400
local-display-factory: don't start two greeters at startup
commit c0188a7030 added some complex code for starting
the login screen when the user switches to the initial
VT if nothing is running on that VT.
The problem is, we get a VT change event on that VT as
part of the start up process.
This leads to an additional greeter getting started.
This commit adds a check to side step the new code during
startup.
Closes: https://gitlab.gnome.org/GNOME/gdm/issues/409
daemon/gdm-local-display-factory.c | 6 ++++++
1 file changed, 6 insertions(+)
---
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index 5126683f..d8a4ca08 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -622,6 +622,12 @@ on_vt_changed (GIOChannel *source,
g_strchomp (tty_of_active_vt);
+ /* don't do anything if we're on the same VT we were before */
+ if (g_strcmp0 (tty_of_active_vt, factory->priv->tty_of_active_vt) == 0) {
+ g_debug ("GdmLocalDisplayFactory: VT changed to the same VT, ignoring");
+ return G_SOURCE_CONTINUE;
+ }
+
tty_of_previous_vt = g_steal_pointer (&factory->priv->tty_of_active_vt);
factory->priv->tty_of_active_vt = g_steal_pointer (&tty_of_active_vt);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]