aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-02-14 14:46:36 -0600
committerTed Gould <ted@gould.cx>2011-02-14 14:46:36 -0600
commit5da30c365a2196d488f9ea97f3455eefa3c3b058 (patch)
tree6627c377e4a62ecaca0dbe1943f7d03f4a1417ff /libdbusmenu-glib/menuitem.c
parent8600ea3459e8307da36e6da90640ff49226e90ac (diff)
downloadlibdbusmenu-5da30c365a2196d488f9ea97f3455eefa3c3b058.tar.gz
libdbusmenu-5da30c365a2196d488f9ea97f3455eefa3c3b058.tar.bz2
libdbusmenu-5da30c365a2196d488f9ea97f3455eefa3c3b058.zip
Use the recurse parameter
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 309f435..6a33499 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -1333,7 +1333,7 @@ dbusmenu_menuitem_get_root (DbusmenuMenuitem * mi)
children to place their own tags in the array in between those two.
*/
GVariant *
-dbusmenu_menuitem_build_variant (DbusmenuMenuitem * mi, const gchar ** properties)
+dbusmenu_menuitem_build_variant (DbusmenuMenuitem * mi, const gchar ** properties, gint recurse)
{
g_return_val_if_fail(DBUSMENU_IS_MENUITEM(mi), NULL);
@@ -1360,14 +1360,14 @@ dbusmenu_menuitem_build_variant (DbusmenuMenuitem * mi, const gchar ** propertie
/* Pillage the children */
GList * children = dbusmenu_menuitem_get_children(mi);
- if (children == NULL) {
+ if (children == NULL && recurse != 0) {
g_variant_builder_add_value(&tupleb, g_variant_parse(G_VARIANT_TYPE("a(v)"), "[ ]", NULL, NULL, NULL));
} else {
GVariantBuilder childrenbuilder;
g_variant_builder_init(&childrenbuilder, G_VARIANT_TYPE_ARRAY);
for ( ; children != NULL; children = children->next) {
- GVariant * child = dbusmenu_menuitem_build_variant(DBUSMENU_MENUITEM(children->data), properties);
+ GVariant * child = dbusmenu_menuitem_build_variant(DBUSMENU_MENUITEM(children->data), properties, recurse - 1);
g_variant_builder_add_value(&childrenbuilder, g_variant_new_variant(child));
}