add a missing seat id check to unbreak gdm when logging out
ok ajacoutot@
This commit is contained in:
parent
6715900319
commit
c13cf1b076
@ -1,10 +1,10 @@
|
||||
# $OpenBSD: Makefile,v 1.299 2021/05/30 09:04:23 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.300 2021/06/17 06:14:39 robert Exp $
|
||||
|
||||
COMMENT= GNOME display manager
|
||||
|
||||
GNOME_PROJECT= gdm
|
||||
GNOME_VERSION= 40.0
|
||||
REVISION= 1
|
||||
REVISION= 2
|
||||
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} gdm-puffy.png:0
|
||||
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
||||
|
@ -1,4 +1,4 @@
|
||||
$OpenBSD: patch-daemon_gdm-local-display-factory_c,v 1.18 2021/05/30 09:04:23 ajacoutot Exp $
|
||||
$OpenBSD: patch-daemon_gdm-local-display-factory_c,v 1.19 2021/06/17 06:14:39 robert Exp $
|
||||
|
||||
Index: daemon/gdm-local-display-factory.c
|
||||
--- daemon/gdm-local-display-factory.c.orig
|
||||
@ -32,7 +32,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
ret = sd_seat_can_graphical (seat_id);
|
||||
|
||||
if (ret < 0) {
|
||||
@@ -561,13 +567,16 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
@@ -561,13 +567,17 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
if (!seat_supports_graphics)
|
||||
return;
|
||||
|
||||
@ -46,10 +46,11 @@ Index: daemon/gdm-local-display-factory.c
|
||||
display = gdm_display_store_find (store, lookup_prepared_display_by_seat_id, (gpointer) seat_id);
|
||||
else
|
||||
+#endif
|
||||
+ if (g_strcmp0 (seat_id, "/org/freedesktop/ConsoleKit/Seat1") != 0)
|
||||
display = gdm_display_store_find (store, lookup_by_seat_id, (gpointer) seat_id);
|
||||
|
||||
/* Ensure we don't create the same display more than once */
|
||||
@@ -576,6 +585,7 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
@@ -576,6 +586,7 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
return;
|
||||
}
|
||||
|
||||
@ -57,7 +58,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
/* If we already have a login window, switch to it */
|
||||
if (gdm_get_login_window_session_id (seat_id, &login_session_id)) {
|
||||
GdmDisplay *display;
|
||||
@@ -593,6 +603,7 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
@@ -593,6 +604,7 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -65,7 +66,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
|
||||
g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", seat_id);
|
||||
|
||||
@@ -628,6 +639,7 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
@@ -628,6 +640,7 @@ ensure_display_for_seat (GdmLocalDisplayFactory *facto
|
||||
return;
|
||||
}
|
||||
|
||||
@ -73,7 +74,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
static void
|
||||
delete_display (GdmLocalDisplayFactory *factory,
|
||||
const char *seat_id) {
|
||||
@@ -790,6 +802,7 @@ lookup_by_tty (const char *id,
|
||||
@@ -790,6 +803,7 @@ lookup_by_tty (const char *id,
|
||||
|
||||
return g_strcmp0 (tty_to_check, tty_to_find) == 0;
|
||||
}
|
||||
@ -81,7 +82,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
|
||||
#if defined(ENABLE_USER_DISPLAY_SERVER)
|
||||
static void
|
||||
@@ -967,6 +980,7 @@ on_vt_changed (GIOChannel *source,
|
||||
@@ -967,6 +981,7 @@ on_vt_changed (GIOChannel *source,
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -89,7 +90,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
static void
|
||||
gdm_local_display_factory_start_monitor (GdmLocalDisplayFactory *factory)
|
||||
{
|
||||
@@ -1046,6 +1060,7 @@ gdm_local_display_factory_stop_monitor (GdmLocalDispla
|
||||
@@ -1046,6 +1061,7 @@ gdm_local_display_factory_stop_monitor (GdmLocalDispla
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -97,7 +98,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
|
||||
static void
|
||||
on_display_added (GdmDisplayStore *display_store,
|
||||
@@ -1097,8 +1112,12 @@ gdm_local_display_factory_start (GdmDisplayFactory *ba
|
||||
@@ -1097,8 +1113,12 @@ gdm_local_display_factory_start (GdmDisplayFactory *ba
|
||||
factory,
|
||||
0);
|
||||
|
||||
@ -110,7 +111,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -1109,7 +1128,9 @@ gdm_local_display_factory_stop (GdmDisplayFactory *bas
|
||||
@@ -1109,7 +1129,9 @@ gdm_local_display_factory_stop (GdmDisplayFactory *bas
|
||||
|
||||
g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE);
|
||||
|
||||
@ -120,7 +121,7 @@ Index: daemon/gdm-local-display-factory.c
|
||||
|
||||
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
|
||||
|
||||
@@ -1263,7 +1284,9 @@ gdm_local_display_factory_finalize (GObject *object)
|
||||
@@ -1263,7 +1285,9 @@ gdm_local_display_factory_finalize (GObject *object)
|
||||
|
||||
g_hash_table_destroy (factory->used_display_numbers);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user