aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-01-18 17:02:00 -0600
committerTed Gould <ted@gould.cx>2011-01-18 17:02:00 -0600
commit61fd5050b6319de6b948cdb0cd36e1b985d7b2a8 (patch)
treea828a368696ede4a370c6ef0edbb664f29286c75
parent3d8ec9ae0b07cbe287aaeda633621ac8c81b5925 (diff)
downloadlibdbusmenu-61fd5050b6319de6b948cdb0cd36e1b985d7b2a8.tar.gz
libdbusmenu-61fd5050b6319de6b948cdb0cd36e1b985d7b2a8.tar.bz2
libdbusmenu-61fd5050b6319de6b948cdb0cd36e1b985d7b2a8.zip
Setup to the use the full type handler
-rw-r--r--libdbusmenu-glib/client.h2
-rw-r--r--libdbusmenu-gtk/serializablemenuitem.c12
2 files changed, 11 insertions, 3 deletions
diff --git a/libdbusmenu-glib/client.h b/libdbusmenu-glib/client.h
index 323e142..f371792 100644
--- a/libdbusmenu-glib/client.h
+++ b/libdbusmenu-glib/client.h
@@ -111,7 +111,7 @@ struct _DbusmenuClient {
};
typedef gboolean (*DbusmenuClientTypeHandler) (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client, gpointer user_data);
-typedef gboolean (*DbusmenuClientTypeDestroyHandler) (DbusmenuClient * client, const gchar * type, gpointer user_data);
+typedef void (*DbusmenuClientTypeDestroyHandler) (DbusmenuClient * client, const gchar * type, gpointer user_data);
GType dbusmenu_client_get_type (void);
DbusmenuClient * dbusmenu_client_new (const gchar * name,
diff --git a/libdbusmenu-gtk/serializablemenuitem.c b/libdbusmenu-gtk/serializablemenuitem.c
index 4d23635..42d79b2 100644
--- a/libdbusmenu-gtk/serializablemenuitem.c
+++ b/libdbusmenu-gtk/serializablemenuitem.c
@@ -75,12 +75,20 @@ dbusmenu_gtk_serializable_menu_item_get_dbusmenu_menuitem (DbusmenuGtkSerializab
/* Handle the type with this item. */
static gboolean
-type_handler (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client)
+type_handler (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client, gpointer user_data)
{
return TRUE;
}
+/* Destruction is inevitable */
+static void
+type_destroy_handler (DbusmenuClient * client, const gchar * type, gpointer user_data)
+{
+
+ return;
+}
+
void
dbusmenu_gtk_serializable_menu_item_register_to_client (DbusmenuClient * client, GType item_type)
{
@@ -98,7 +106,7 @@ dbusmenu_gtk_serializable_menu_item_register_to_client (DbusmenuClient * client,
}
/* Register type */
- dbusmenu_client_add_type_handler(client, class->get_type_string(), type_handler); /* need type */
+ dbusmenu_client_add_type_handler_full(client, class->get_type_string(), type_handler, NULL, type_destroy_handler); /* need type */
/* Register defaults */
/* TODO: Need API on another branch */