From 5cc9ae3dd2d78b205400779b969f528f3b602f15 Mon Sep 17 00:00:00 2001 From: Ritesh Khadgaray Date: Tue, 6 Aug 2013 14:32:18 +0530 Subject: lp# 1205273 - Session is not locked when switching to guest session --- src/service.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/service.c b/src/service.c index 74acd89..45de7d4 100644 --- a/src/service.c +++ b/src/service.c @@ -707,6 +707,7 @@ on_greeter_activated (GSimpleAction * a G_GNUC_UNUSED, GVariant * param G_GNUC_UNUSED, gpointer gself) { + indicator_session_actions_switch_to_screensaver (get_backend_actions(gself)); indicator_session_actions_switch_to_greeter (get_backend_actions(gself)); } -- cgit v1.2.3 From d8d4a6fa9f650e86d35d7141406195d4fee54a6c Mon Sep 17 00:00:00 2001 From: Ritesh Khadgaray Date: Tue, 6 Aug 2013 14:33:21 +0530 Subject: lp# 1205273 - Session is not locked when switching to guest session For a single user system, the Lock should lock the screen rather than throwing the user back at DM. At the DM, user would have to key in their password twice, once at DM, second at screensaver. The appropriate fix would be for DM to unlock the screensaver, if session is active --- src/service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service.c b/src/service.c index 45de7d4..ae4eb75 100644 --- a/src/service.c +++ b/src/service.c @@ -450,7 +450,7 @@ create_switch_section (IndicatorSessionService * self) } else if (g_hash_table_size (p->users) == 1) { - const char * action = "indicator.switch-to-greeter"; + const char * action = "indicator.switch-to-screensaver"; item = g_menu_item_new (_("Lock"), action); } else -- cgit v1.2.3 From 4759a380da77dd1f8746f298a5ae051319a70ddd Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 20 Aug 2013 08:42:24 -0500 Subject: when switching to the guest session, explicitly lock the current users's session --- src/backend-dbus/actions.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c index 9030ca7..17547f0 100644 --- a/src/backend-dbus/actions.c +++ b/src/backend-dbus/actions.c @@ -734,7 +734,7 @@ my_about (IndicatorSessionActions * self G_GNUC_UNUSED) ***/ static void -my_switch_to_screensaver (IndicatorSessionActions * self) +lock_current_session (IndicatorSessionActions * self) { priv_t * p = INDICATOR_SESSION_ACTIONS_DBUS(self)->priv; @@ -743,6 +743,12 @@ my_switch_to_screensaver (IndicatorSessionActions * self) gnome_screen_saver_call_lock (p->screen_saver, p->cancellable, NULL, NULL); } +static void +my_switch_to_screensaver (IndicatorSessionActions * self) +{ + lock_current_session (self); +} + static void my_switch_to_greeter (IndicatorSessionActions * self) { @@ -750,6 +756,7 @@ my_switch_to_greeter (IndicatorSessionActions * self) g_return_if_fail (p->dm_seat != NULL); + /* show the greeter */ display_manager_seat_call_switch_to_greeter (p->dm_seat, p->dm_seat_cancellable, NULL, NULL); @@ -762,6 +769,8 @@ my_switch_to_guest (IndicatorSessionActions * self) g_return_if_fail (p->dm_seat != NULL); + lock_current_session (self); + display_manager_seat_call_switch_to_guest (p->dm_seat, "", p->dm_seat_cancellable, NULL, NULL); -- cgit v1.2.3 From e48d65866fa228929ddc545eac456635bf763501 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 20 Aug 2013 08:43:47 -0500 Subject: fix minor GCancellable memory leak noticed while fixing 1205273 --- src/backend-dbus/actions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c index 17547f0..2550fdb 100644 --- a/src/backend-dbus/actions.c +++ b/src/backend-dbus/actions.c @@ -169,7 +169,7 @@ set_dm_seat (IndicatorSessionActionsDbus * self, DisplayManagerSeat * seat) if (p->dm_seat != NULL) { g_cancellable_cancel (p->dm_seat_cancellable); - g_clear_object (&p->dm_seat); + g_clear_object (&p->dm_seat_cancellable); g_clear_object (&p->dm_seat); } -- cgit v1.2.3 From 14964539aec0c91e39e3abdb70c08ad8d65824bb Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 20 Aug 2013 08:52:54 -0500 Subject: copyediting: remove unnecessary comment that snuck into r406 --- src/backend-dbus/actions.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c index 2550fdb..fcf850d 100644 --- a/src/backend-dbus/actions.c +++ b/src/backend-dbus/actions.c @@ -756,7 +756,6 @@ my_switch_to_greeter (IndicatorSessionActions * self) g_return_if_fail (p->dm_seat != NULL); - /* show the greeter */ display_manager_seat_call_switch_to_greeter (p->dm_seat, p->dm_seat_cancellable, NULL, NULL); -- cgit v1.2.3