diff options
author | Ted Gould <ted@gould.cx> | 2010-08-30 09:49:08 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-08-30 09:49:08 -0500 |
commit | fd1818677e1c520700be99c3a536533f3e2f9fff (patch) | |
tree | 9471e16d243378891c3f04436611921ecbdafebf /libdbusmenu-glib/client.c | |
parent | 92e08cdf99b606521adb3fe68c19b4a81c4e469d (diff) | |
parent | 9bbe6d0c7186572c4eab423f9712c8a5534a70d5 (diff) | |
download | libdbusmenu-fd1818677e1c520700be99c3a536533f3e2f9fff.tar.gz libdbusmenu-fd1818677e1c520700be99c3a536533f3e2f9fff.tar.bz2 libdbusmenu-fd1818677e1c520700be99c3a536533f3e2f9fff.zip |
* Upstream Merge
* Fixing the passing of the value to the results signal
* Adding a test for checking event results signal
* Changing the timeouts on event calls
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r-- | libdbusmenu-glib/client.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 43bde5f..ca16c9a 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -1058,10 +1058,10 @@ menuitem_call_cb (DBusGProxy * proxy, GError * error, gpointer userdata) event_data_t * edata = (event_data_t *)userdata; if (error != NULL) { - g_warning("Unable to call menu item %d: %s", GPOINTER_TO_INT(userdata), error->message); + g_warning("Unable to call event '%s' on menu item %d: %s", edata->event, dbusmenu_menuitem_get_id(edata->menuitem), error->message); } - g_signal_emit(edata->client, signals[EVENT_RESULT], 0, edata->menuitem, edata->event, edata->data, edata->timestamp, error, TRUE); + g_signal_emit(edata->client, signals[EVENT_RESULT], 0, edata->menuitem, edata->event, &edata->data, edata->timestamp, error, TRUE); g_value_unset(&edata->data); g_free(edata->event); @@ -1103,7 +1103,12 @@ dbusmenu_client_send_event (DbusmenuClient * client, gint id, const gchar * name g_value_copy(value, &edata->data); edata->timestamp = timestamp; - org_ayatana_dbusmenu_event_async (priv->menuproxy, id, name, value, timestamp, menuitem_call_cb, edata); + DBusGAsyncData *stuff; + stuff = g_slice_new (DBusGAsyncData); + stuff->cb = G_CALLBACK (menuitem_call_cb); + stuff->userdata = edata; + dbus_g_proxy_begin_call_with_timeout (priv->menuproxy, "Event", org_ayatana_dbusmenu_event_async_callback, stuff, _dbus_glib_async_data_free, 1000, G_TYPE_INT, id, G_TYPE_STRING, name, G_TYPE_VALUE, value, G_TYPE_UINT, timestamp, G_TYPE_INVALID); + return; } |