diff options
author | Evgeni Golov <evgeni@debian.org> | 2010-07-17 10:47:59 +0200 |
---|---|---|
committer | Evgeni Golov <evgeni@debian.org> | 2010-07-17 10:47:59 +0200 |
commit | 61d587dacc6ad1ad4a62b8028f80beca65a192f6 (patch) | |
tree | 02219e7d9d3ed574b44a308f3e1d4a69d24ba6f5 /libdbusmenu-glib/client.c | |
parent | 267513170831eeff1bc8fa76e5a6c6f56414da8c (diff) | |
parent | 50ee765fed5a32e72fa2c13ad33bef5f131cc20a (diff) | |
download | libdbusmenu-61d587dacc6ad1ad4a62b8028f80beca65a192f6.tar.gz libdbusmenu-61d587dacc6ad1ad4a62b8028f80beca65a192f6.tar.bz2 libdbusmenu-61d587dacc6ad1ad4a62b8028f80beca65a192f6.zip |
* Merge new upstream from Ubuntu.
* New upstream release.
∘ Protect against NULL values as event
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r-- | libdbusmenu-glib/client.c | 11 |
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; |