aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libdbusmenu-glib/client.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 29a8565..1bc60a6 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -1554,6 +1554,19 @@ menuitem_call_cb (GObject * proxy, GAsyncResult * res, gpointer userdata)
return;
}
+/* The callback from the dbus message to pass events to the
+ to the server en masse */
+static void
+event_group_cb (GObject * proxy, GAsyncResult * res, gpointer user_data)
+{
+ GList * events = (GList *)user_data;
+
+
+ g_list_foreach(events, (GFunc)event_data_end, NULL);
+ g_list_free(events);
+ return;
+}
+
/* Turn an event structure into the variant builder form */
static void
events_to_builder (gpointer data, gpointer user_data)
@@ -1599,7 +1612,7 @@ event_idle_cb (gpointer user_data)
G_DBUS_CALL_FLAGS_NONE,
1000, /* timeout */
NULL, /* cancellable */
- NULL /* TODO group callback */, levents);
+ event_group_cb, levents);
} else {
g_dbus_proxy_call(priv->menuproxy,
"EventGroup",