aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib
diff options
context:
space:
mode:
authorKen VanDine <ken.vandine@canonical.com>2010-09-09 11:26:59 -0400
committerKen VanDine <ken.vandine@canonical.com>2010-09-09 11:26:59 -0400
commita8339d74944ac724f0d3c782334d57fc97a628b9 (patch)
tree6950c50a04f935e1d0cb8aea13f81b831d01bb0e /libdbusmenu-glib
parentb73234dae98ad8a921457858ff19079b8266d295 (diff)
parentbe073ce65ee3a15a4e6aa14fcc88176df184caa6 (diff)
downloadlibdbusmenu-a8339d74944ac724f0d3c782334d57fc97a628b9.tar.gz
libdbusmenu-a8339d74944ac724f0d3c782334d57fc97a628b9.tar.bz2
libdbusmenu-a8339d74944ac724f0d3c782334d57fc97a628b9.zip
* New upstream release.
* Handling window grabs on activated signals (LP: #633275) * Fixing the passing of the value to the results signal * Adding a test for checking event results signal * Changing the timeouts on event calls for better detection of failing applications
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r--libdbusmenu-glib/client.c11
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;
}