@@ -1114,21 +1114,32 @@ static void
11141114indicator_session_actions_dbus_init (IndicatorSessionActionsDbus * self )
11151115{
11161116 priv_t * p ;
1117- GSettings * s ;
1117+ GSettings * s = null ;
11181118
11191119 p = indicator_session_actions_dbus_get_instance_private (self );
11201120 p -> cancellable = g_cancellable_new ();
11211121 p -> seat_allows_activation = TRUE;
11221122 self -> priv = p ;
11231123
1124- s = g_settings_new ("org.gnome.desktop.lockdown" );
1125- g_signal_connect_swapped (s , "changed::disable-lock-screen" ,
1126- G_CALLBACK (indicator_session_actions_notify_can_lock ), self );
1127- g_signal_connect_swapped (s , "changed::disable-log-out" ,
1128- G_CALLBACK (indicator_session_actions_notify_can_logout ), self );
1129- g_signal_connect_swapped (s , "changed::disable-user-switching" ,
1130- G_CALLBACK (indicator_session_actions_notify_can_switch ), self );
1131- p -> lockdown_settings = s ;
1124+ if ((ayatana_common_utils_is_gnome () || (ayatana_common_utils_is_budgie ())
1125+ {
1126+ s = g_settings_new ("org.gnome.desktop.lockdown" );
1127+ }
1128+ elif (ayatana_common_utils_is_mate ())
1129+ {
1130+ s = g_settings_new ("org.mate.desktop.lockdown" );
1131+ }
1132+
1133+ if (s )
1134+ {
1135+ g_signal_connect_swapped (s , "changed::disable-lock-screen" ,
1136+ G_CALLBACK (indicator_session_actions_notify_can_lock ), self );
1137+ g_signal_connect_swapped (s , "changed::disable-log-out" ,
1138+ G_CALLBACK (indicator_session_actions_notify_can_logout ), self );
1139+ g_signal_connect_swapped (s , "changed::disable-user-switching" ,
1140+ G_CALLBACK (indicator_session_actions_notify_can_switch ), self );
1141+ p -> lockdown_settings = s ;
1142+ }
11321143
11331144 s = g_settings_new ("org.ayatana.indicator.session" );
11341145 g_signal_connect_swapped (s , "changed::suppress-logout-restart-shutdown" ,
0 commit comments