diff options
-rw-r--r-- | plugins/media-keys/gsd-media-keys-manager.c | 22 | ||||
-rw-r--r-- | plugins/media-keys/org.gnome.ShellKeyGrabber.xml | 4 |
2 files changed, 14 insertions, 12 deletions
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c index 9a8070e5..cb9f70a1 100644 --- a/plugins/media-keys/gsd-media-keys-manager.c +++ b/plugins/media-keys/gsd-media-keys-manager.c @@ -80,6 +80,7 @@ #define CUSTOM_BINDING_SCHEMA SETTINGS_BINDING_DIR ".custom-keybinding" +#define SHELL_GRABBER_CALL_TIMEOUT G_MAXINT #define SHELL_GRABBER_RETRY_INTERVAL 1 #define OSD_ALL_OUTPUTS -1 @@ -435,13 +436,14 @@ grab_accelerators_complete (GObject *object, GAsyncResult *result, gpointer user_data) { - GVariant *actions; + GVariant *ret, *actions; gboolean retry = FALSE; GError *error = NULL; GsdMediaKeysManager *manager = user_data; - shell_key_grabber_call_grab_accelerators_finish (SHELL_KEY_GRABBER (object), - &actions, result, &error); + ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (object), result, &error); + g_variant_get (ret, "(@au)", &actions); + g_variant_unref (ret); if (error) { retry = g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD); @@ -486,11 +488,15 @@ grab_media_keys (GsdMediaKeysManager *manager) g_free (tmp); } - shell_key_grabber_call_grab_accelerators (manager->priv->key_grabber, - g_variant_builder_end (&builder), - manager->priv->grab_cancellable, - grab_accelerators_complete, - manager); + g_dbus_proxy_call (G_DBUS_PROXY (manager->priv->key_grabber), + "GrabAccelerators", + g_variant_new ("(@a(su))", + g_variant_builder_end (&builder)), + G_DBUS_CALL_FLAGS_NONE, + SHELL_GRABBER_CALL_TIMEOUT, + manager->priv->grab_cancellable, + grab_accelerators_complete, + manager); } static void diff --git a/plugins/media-keys/org.gnome.ShellKeyGrabber.xml b/plugins/media-keys/org.gnome.ShellKeyGrabber.xml index a245481a..4a1f7e7d 100644 --- a/plugins/media-keys/org.gnome.ShellKeyGrabber.xml +++ b/plugins/media-keys/org.gnome.ShellKeyGrabber.xml @@ -6,10 +6,6 @@ <arg type="u" direction="in" name="flags"/> <arg type="u" direction="out" name="action"/> </method> - <method name="GrabAccelerators"> - <arg type="a(su)" direction="in" name="accelerators"/> - <arg type="au" direction="out" name="actions"/> - </method> <method name="UngrabAccelerator"> <arg type="u" direction="in" name="action"/> <arg type="b" direction="out" name="success"/> |