aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-08-25 15:38:18 -0500
committerTed Gould <ted@canonical.com>2009-08-25 15:38:18 -0500
commit6de64b37859c511bb6583ea8f98d52a5bc6d9029 (patch)
treecb97eafcab2220b15264b467c7cbe8c4f5ac6701
parentd5e159567d782bfd8568d9075bea32264f326dff (diff)
downloadlibdbusmenu-6de64b37859c511bb6583ea8f98d52a5bc6d9029.tar.gz
libdbusmenu-6de64b37859c511bb6583ea8f98d52a5bc6d9029.tar.bz2
libdbusmenu-6de64b37859c511bb6583ea8f98d52a5bc6d9029.zip
Now we're building the child/parent relationship using the activation type function.
-rw-r--r--libdbusmenu-gtk/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c
index bc4a72a..913a902 100644
--- a/libdbusmenu-gtk/client.c
+++ b/libdbusmenu-gtk/client.c
@@ -148,7 +148,6 @@ base_new_menuitem (DbusmenuMenuitem * mi, GtkMenuItem * gmi, DbusmenuGtkClient *
/* DbusmenuMenuitem signals */
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED, G_CALLBACK(menu_prop_change_cb), gmi);
- g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED, G_CALLBACK(new_child), client);
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(delete_child), client);
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(move_child), client);
@@ -266,7 +265,7 @@ dbusmenu_gtkclient_menuitem_get (DbusmenuGtkClient * client, DbusmenuMenuitem *
}
static gboolean
-new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client)
+new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client)
{
gpointer ann_mi = g_object_get_data(G_OBJECT(newitem), data_menuitem);
GtkMenuItem * gmi = GTK_MENU_ITEM(ann_mi);
@@ -280,6 +279,9 @@ new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbus
gmi = GTK_MENU_ITEM(gtk_menu_item_new());
base_new_menuitem(newitem, gmi, DBUSMENU_GTKCLIENT(client));
+ if (parent != NULL) {
+ new_child(parent, newitem, dbusmenu_menuitem_get_position(newitem, parent), DBUSMENU_GTKCLIENT(client));
+ }
return TRUE;
}