aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client.c
diff options
context:
space:
mode:
authorEvgeni Golov <evgeni@debian.org>2010-07-17 10:46:37 +0200
committerEvgeni Golov <evgeni@debian.org>2010-07-17 10:46:37 +0200
commit50ee765fed5a32e72fa2c13ad33bef5f131cc20a (patch)
treeb03109c67ad1be99ab8d9c46d142a4538027db54 /libdbusmenu-glib/client.c
parent674342c670052bcfcc92b7638de9af482ae2a856 (diff)
parenta9299d5bfc2f1bc251d7e0e7949eeea6d0543c7b (diff)
downloadlibdbusmenu-50ee765fed5a32e72fa2c13ad33bef5f131cc20a.tar.gz
libdbusmenu-50ee765fed5a32e72fa2c13ad33bef5f131cc20a.tar.bz2
libdbusmenu-50ee765fed5a32e72fa2c13ad33bef5f131cc20a.zip
Merge 0.3.6-0ubuntu1
New upstream release. ∘ Protect against NULL values as event
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r--libdbusmenu-glib/client.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 871170a..2e985d6 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -716,6 +716,17 @@ menuitem_call_cb (DBusGProxy * proxy, GError * error, gpointer userdata)
void
dbusmenu_client_send_event (DbusmenuClient * client, gint id, const gchar * name, const GValue * value, guint timestamp)
{
+ g_return_if_fail(DBUSMENU_IS_CLIENT(client));
+ g_return_if_fail(id >= 0);
+ g_return_if_fail(name != NULL);
+
+ if (value == NULL) {
+ GValue internalval = {0};
+ g_value_init(&internalval, G_TYPE_INT);
+ g_value_set_int(&internalval, 0);
+ value = &internalval;
+ }
+
DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client);
org_ayatana_dbusmenu_event_async (priv->menuproxy, id, name, value, timestamp, menuitem_call_cb, GINT_TO_POINTER(id));
return;