Skip to content

Commit de1afa6

Browse files
committed
src/backend-dbus/actions.c: Fix MATE lockdown support (don't require org.gnome.desktop.lockdown gsettings to be set, honour org.mate.desktop.lockdown gsettings instead).
1 parent 61466f5 commit de1afa6

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

src/backend-dbus/actions.c

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,21 +1114,32 @@ static void
11141114
indicator_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

Comments
 (0)