1 --- ConsoleKit-0.4.1/src/ck-seat.c-orig 2012-06-01 23:28:22.322398818 -0500
2 +++ ConsoleKit-0.4.1/src/ck-seat.c 2012-06-01 23:37:52.032208906 -0500
3 @@ -101,6 +101,8 @@ enum {
5 static guint signals [LAST_SIGNAL] = { 0, };
7 +static gboolean ck_seat_shutdown = FALSE;
9 static void ck_seat_class_init (CkSeatClass *klass);
10 static void ck_seat_init (CkSeat *seat);
11 static void ck_seat_finalize (GObject *object);
12 @@ -120,6 +122,13 @@ ck_seat_error_quark (void)
14 #define ENUM_ENTRY(NAME, DESC) { NAME, "" #NAME "", DESC }
17 +ck_seat_set_shutdown (void)
19 + g_debug ("CkSeat: setting shutdown, will stop restarting displays");
20 + ck_seat_shutdown = TRUE;
24 ck_seat_kind_get_type (void)
26 @@ -1157,7 +1166,7 @@ ck_seat_remove_session (CkSeat *
29 /* Otherwise, look for an active session */
30 - if (found_login == FALSE) {
31 + if (!ck_seat_shutdown && found_login == FALSE) {
32 g_debug ("Login not found. Maybe update active session");
33 maybe_update_active_session (seat);
35 --- ConsoleKit-0.4.1/src/ck-manager.c-orig 2012-06-01 23:27:14.221278799 -0500
36 +++ ConsoleKit-0.4.1/src/ck-manager.c 2012-06-01 23:36:43.104682051 -0500
37 @@ -1133,6 +1133,7 @@ do_restart (CkManager *manag
41 + ck_seat_set_shutdown ();
42 dbus_g_method_return (context);
45 @@ -1220,6 +1221,7 @@ do_stop (CkManager *manager,
46 g_error_free (new_error);
49 + ck_seat_set_shutdown ();
50 dbus_g_method_return (context);
53 --- ConsoleKit-0.4.1/src/ck-seat.h-orig 2012-06-01 23:34:08.023566142 -0500
54 +++ ConsoleKit-0.4.1/src/ck-seat.h 2012-06-01 23:34:42.825581256 -0500
55 @@ -178,6 +178,8 @@ gboolean ck_seat_no_respawn
59 +void ck_seat_set_shutdown (void);
63 #endif /* __CK_SEAT_H */