summaryrefslogtreecommitdiff
path: root/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/a11y-keyboard/msd-a11y-preferences-dialog.c')
-rw-r--r--plugins/a11y-keyboard/msd-a11y-preferences-dialog.c59
1 files changed, 29 insertions, 30 deletions
diff --git a/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c b/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c
index f0cbb3b..8ef1af6 100644
--- a/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c
+++ b/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c
@@ -1,6 +1,7 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* Copyright (C) 2008 William Jon McCann <[email protected]>
+ * Copyright (C) 2012-2021 MATE Developers
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -30,9 +31,6 @@
#include <glib-object.h>
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
-
-#include <dbus/dbus-glib.h>
-
#include <gio/gio.h>
#include "msd-a11y-preferences-dialog.h"
@@ -41,7 +39,6 @@
#define SM_DBUS_PATH "/org/gnome/SessionManager"
#define SM_DBUS_INTERFACE "org.gnome.SessionManager"
-
#define GTKBUILDER_UI_FILE "msd-a11y-preferences-dialog.ui"
#define KEY_A11Y_SCHEMA "org.mate.accessibility-keyboard"
@@ -343,41 +340,44 @@ config_set_capslock_beep (MsdA11yPreferencesDialog *dialog, gboolean enabled)
static gboolean
config_have_at_gsettings_condition (const char *condition)
{
- DBusGProxy *sm_proxy;
- DBusGConnection *connection;
- GError *error;
- gboolean res;
- gboolean is_handled;
-
- error = NULL;
- connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
- if (connection == NULL) {
+ GDBusProxy *proxy = NULL;
+ GError *error = NULL;
+ GVariant *ret;
+ gboolean is_handled;
+
+ proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ SM_DBUS_NAME,
+ SM_DBUS_PATH,
+ SM_DBUS_INTERFACE,
+ NULL,
+ &error);
+ if (proxy == NULL) {
g_warning ("Unable to connect to session bus: %s", error->message);
- return FALSE;
- }
- sm_proxy = dbus_g_proxy_new_for_name (connection,
- SM_DBUS_NAME,
- SM_DBUS_PATH,
- SM_DBUS_INTERFACE);
- if (sm_proxy == NULL) {
+ g_error_free (error);
return FALSE;
}
is_handled = FALSE;
- res = dbus_g_proxy_call (sm_proxy,
- "IsAutostartConditionHandled",
- &error,
- G_TYPE_STRING, condition,
- G_TYPE_INVALID,
- G_TYPE_BOOLEAN, &is_handled,
- G_TYPE_INVALID);
- if (! res) {
+ ret = g_dbus_proxy_call_sync (proxy,
+ "IsAutostartConditionHandled",
+ g_variant_new ("(s)", condition),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ &error);
+ if (ret == NULL) {
g_warning ("Unable to call IsAutostartConditionHandled (%s): %s",
condition,
error->message);
+ g_error_free (error);
+ } else {
+ g_variant_get (ret, "(b)", &is_handled);
+ g_variant_unref (ret);
}
- g_object_unref (sm_proxy);
+ g_object_unref (proxy);
return is_handled;
}
@@ -840,7 +840,6 @@ msd_a11y_preferences_dialog_init (MsdA11yPreferencesDialog *dialog)
G_CALLBACK (on_response),
dialog);
-
gtk_widget_show_all (GTK_WIDGET (dialog));
}