diff options
author | Ted Gould <ted@gould.cx> | 2010-08-17 16:45:09 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-08-17 16:45:09 -0500 |
commit | 65d0fad51540858ca7a8cf850f6d0c3e0feaf949 (patch) | |
tree | a38bd6dcb7b92a09acaaaa0a523edf0a851c9ee8 | |
parent | 98b759aaa21779694f5708a93d900c3204742133 (diff) | |
download | libdbusmenu-65d0fad51540858ca7a8cf850f6d0c3e0feaf949.tar.gz libdbusmenu-65d0fad51540858ca7a8cf850f6d0c3e0feaf949.tar.bz2 libdbusmenu-65d0fad51540858ca7a8cf850f6d0c3e0feaf949.zip |
Getting to the menu item.
-rw-r--r-- | libdbusmenu-glib/client.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index d127b21..25d64b6 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -123,7 +123,7 @@ static void update_layout (DbusmenuClient * client); static void menuitem_get_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * error, gpointer data); static void get_properties_globber (DbusmenuClient * client, gint id, const gchar ** properties, org_ayatana_dbusmenu_get_properties_reply callback, gpointer user_data); static GQuark error_domain (void); -static void item_activated (DBusGProxy * proxy, gint id, gint timestamp, DbusmenuClient * client); +static void item_activated (DBusGProxy * proxy, gint id, guint timestamp, DbusmenuClient * client); /* Build a type */ G_DEFINE_TYPE (DbusmenuClient, dbusmenu_client, G_TYPE_OBJECT); @@ -585,8 +585,21 @@ get_properties_globber (DbusmenuClient * client, gint id, const gchar ** propert /* Called when a server item wants to activate the menu */ static void -item_activated (DBusGProxy * proxy, gint id, gint timestamp, DbusmenuClient * client) +item_activated (DBusGProxy * proxy, gint id, guint timestamp, DbusmenuClient * client) { + DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); + + if (priv->root == NULL) { + g_warning("Asked to activate item %d when we don't have a menu structure.", id); + return; + } + + DbusmenuMenuitem * menuitem = dbusmenu_menuitem_find_id(priv->root, id); + if (menuitem == NULL) { + g_warning("Unable to find menu item %d to activate.", id); + return; + } + return; } |