diff options
author | Ted Gould <ted@gould.cx> | 2011-02-24 10:26:27 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-02-24 10:26:27 -0600 |
commit | 3cb0a087b79ef0af68b3ba73944f503823603bff (patch) | |
tree | 99b8d5639155fc2fd159f5435e61c2d7fa26c51b /libdbusmenu-glib | |
parent | 37fb090b4f9fb1e1a894c5c57e7c3d28eb71f92d (diff) | |
download | libdbusmenu-3cb0a087b79ef0af68b3ba73944f503823603bff.tar.gz libdbusmenu-3cb0a087b79ef0af68b3ba73944f503823603bff.tar.bz2 libdbusmenu-3cb0a087b79ef0af68b3ba73944f503823603bff.zip |
Checking to ensure we're the parent before deleting
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r-- | libdbusmenu-glib/menuitem.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index 49b83ce..0bbce8c 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -781,6 +781,11 @@ dbusmenu_menuitem_child_delete (DbusmenuMenuitem * mi, DbusmenuMenuitem * child) g_return_val_if_fail(DBUSMENU_IS_MENUITEM(mi), FALSE); g_return_val_if_fail(DBUSMENU_IS_MENUITEM(child), FALSE); + if (dbusmenu_menuitem_get_parent(child) != mi) { + g_warning("Trying to remove a child that doesn't believe we're it's parent."); + return FALSE; + } + DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi); priv->children = g_list_remove(priv->children, child); dbusmenu_menuitem_unparent(child); |