diff options
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | libdbusmenu-gtk/menu.c | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog index 8f8305d..12f8666 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libdbusmenu (0.0-0ubuntu2~ppa3) UNRELEASED; urgency=low + + * Processing children upon realization + + -- Ted Gould <ted@ubuntu.com> Wed, 26 Aug 2009 16:25:10 -0500 + libdbusmenu (0.0-0ubuntu2~ppa2) karmic; urgency=low * Fix for default handlers. diff --git a/libdbusmenu-gtk/menu.c b/libdbusmenu-gtk/menu.c index 6e78a04..b6f8061 100644 --- a/libdbusmenu-gtk/menu.c +++ b/libdbusmenu-gtk/menu.c @@ -64,6 +64,7 @@ static void set_property (GObject * obj, guint id, const GValue * value, GParamS static void get_property (GObject * obj, guint id, GValue * value, GParamSpec * pspec); /* Internal */ static void build_client (DbusmenuGtkMenu * self); +static void child_realized (DbusmenuMenuitem * child, gpointer userdata); /* GObject Stuff */ G_DEFINE_TYPE (DbusmenuGtkMenu, dbusmenu_gtkmenu, GTK_TYPE_MENU); @@ -188,9 +189,7 @@ static void root_child_added (DbusmenuMenuitem * root, DbusmenuMenuitem * child, guint position, DbusmenuGtkMenu * menu) { g_debug("Root new child"); - DbusmenuGtkMenuPrivate * priv = DBUSMENU_GTKMENU_GET_PRIVATE(menu); - gtk_menu_shell_insert(GTK_MENU_SHELL(menu), GTK_WIDGET(dbusmenu_gtkclient_menuitem_get(priv->client, child)), position); - gtk_widget_show(GTK_WIDGET(menu)); + g_signal_connect(G_OBJECT(child), DBUSMENU_MENUITEM_SIGNAL_REALIZED, G_CALLBACK(child_realized), menu); return; } |