aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem-proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdbusmenu-glib/menuitem-proxy.c')
-rw-r--r--libdbusmenu-glib/menuitem-proxy.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libdbusmenu-glib/menuitem-proxy.c b/libdbusmenu-glib/menuitem-proxy.c
index 22d2d61..0bbfd26 100644
--- a/libdbusmenu-glib/menuitem-proxy.c
+++ b/libdbusmenu-glib/menuitem-proxy.c
@@ -228,6 +228,13 @@ add_menuitem (DbusmenuMenuitemProxy * pmi, DbusmenuMenuitem * mi)
priv->sig_child_moved = g_signal_connect(G_OBJECT(priv->mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(proxy_item_child_moved), pmi);
/* Grab (cache) Properties */
+ GList * props = dbusmenu_menuitem_properties_list(priv->mi);
+ GList * prop;
+ for (prop = props; prop != NULL; prop = g_list_next(prop)) {
+ gchar * prop_name = (gchar *)prop->data;
+ dbusmenu_menuitem_property_set_value(DBUSMENU_MENUITEM(pmi), prop_name, dbusmenu_menuitem_property_get_value(priv->mi, prop_name));
+ }
+ g_list_free(props);
/* Go through children and wrap them */
@@ -262,6 +269,8 @@ remove_menuitem (DbusmenuMenuitemProxy * pmi)
g_object_unref(G_OBJECT(priv->mi));
priv->mi = NULL;
+ /* Remove our own children */
+
return;
}