diff options
author | Chris Coulson <chrisccoulson@ubuntu.com> | 2011-02-24 15:43:25 +0000 |
---|---|---|
committer | Chris Coulson <chrisccoulson@ubuntu.com> | 2011-02-24 15:43:25 +0000 |
commit | 37fb090b4f9fb1e1a894c5c57e7c3d28eb71f92d (patch) | |
tree | 6d1140f1c4f04c82c8d9951151c4eb5dcffce654 /libdbusmenu-glib/menuitem.h | |
parent | 5653c7e5642ae25fb54445f749ecfb0c947ead0c (diff) | |
download | libdbusmenu-37fb090b4f9fb1e1a894c5c57e7c3d28eb71f92d.tar.gz libdbusmenu-37fb090b4f9fb1e1a894c5c57e7c3d28eb71f92d.tar.bz2 libdbusmenu-37fb090b4f9fb1e1a894c5c57e7c3d28eb71f92d.zip |
Hold a weak pointer to each DbusmenuMenuitems parent. This avoids
using g_object_{get/set}_data for storing a nodes parent in the parser code,
and the associated problems with that (ie, a child out-living its parent, leading
to invalid reads
Diffstat (limited to 'libdbusmenu-glib/menuitem.h')
-rw-r--r-- | libdbusmenu-glib/menuitem.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index 4a1c156..5f56803 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -379,6 +379,10 @@ gboolean dbusmenu_menuitem_child_reorder (DbusmenuMenuitem * mi, DbusmenuMenuite DbusmenuMenuitem * dbusmenu_menuitem_child_find (DbusmenuMenuitem * mi, gint id); DbusmenuMenuitem * dbusmenu_menuitem_find_id (DbusmenuMenuitem * mi, gint id); +gboolean dbusmenu_menuitem_set_parent (DbusmenuMenuitem * mi, DbusmenuMenuitem * parent); +gboolean dbusmenu_menuitem_unparent (DbusmenuMenuitem *mi); +DbusmenuMenuitem * dbusmenu_menuitem_get_parent (DbusmenuMenuitem * mi); + gboolean dbusmenu_menuitem_property_set (DbusmenuMenuitem * mi, const gchar * property, const gchar * value); gboolean dbusmenu_menuitem_property_set_variant (DbusmenuMenuitem * mi, const gchar * property, GVariant * value); gboolean dbusmenu_menuitem_property_set_bool (DbusmenuMenuitem * mi, const gchar * property, const gboolean value); |