diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/service.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/service.c b/src/service.c index 88ce6b1..5136a44 100644 --- a/src/service.c +++ b/src/service.c @@ -518,9 +518,9 @@ serialize_icon_file (const gchar * filename) static GMenuModel * create_switch_section (IndicatorSessionService * self, int profile) { - gchar * str; GMenu * menu; GMenuItem * item; + gboolean want_accel; guint i; gpointer guser; GHashTableIter iter; @@ -535,6 +535,7 @@ create_switch_section (IndicatorSessionService * self, int profile) { const char * action = "indicator.switch-to-screensaver"; item = g_menu_item_new (_("Start Screen Saver"), action); + want_accel = TRUE; } else if (profile == PROFILE_LOCKSCREEN || indicator_session_guest_is_active (p->backend_guest)) @@ -542,6 +543,7 @@ create_switch_section (IndicatorSessionService * self, int profile) const char * action = "indicator.switch-to-greeter"; item = g_menu_item_new (ellipsis ? _("Switch Account…") : _("Switch Account"), action); + want_accel = FALSE; } else { @@ -552,11 +554,13 @@ create_switch_section (IndicatorSessionService * self, int profile) else item = g_menu_item_new (ellipsis ? _("Lock/Switch Account…") : _("Lock/Switch Account"), action); + + want_accel = TRUE; } - if (profile != PROFILE_LOCKSCREEN) + if (want_accel) { - str = g_settings_get_string (p->keybinding_settings, "screensaver"); + gchar * str = g_settings_get_string (p->keybinding_settings, "screensaver"); g_menu_item_set_attribute (item, "accel", "s", str); g_free (str); } |