diff options
author | Ted Gould <ted@gould.cx> | 2010-04-15 01:23:10 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-04-15 01:23:10 -0500 |
commit | 490c7b4de7274d4c0c3529ff01bacb829d6aa4c8 (patch) | |
tree | 4b1fa3f794991102ea5a085df14b6a293b690a7b /libdbusmenu-gtk/menu.c | |
parent | b76efc8297f488efce9e4fddf9e705c75a27065e (diff) | |
parent | 7bf97e72be70cf02997eca526aaac68df4494165 (diff) | |
download | libdbusmenu-490c7b4de7274d4c0c3529ff01bacb829d6aa4c8.tar.gz libdbusmenu-490c7b4de7274d4c0c3529ff01bacb829d6aa4c8.tar.bz2 libdbusmenu-490c7b4de7274d4c0c3529ff01bacb829d6aa4c8.zip |
* Upstream Merge
* Changing GTK layer to look at position in realized
children to avoid realization races. (LP: #555816)
* Don't allow setting children twice
* Ref children of a menuitem
* Return error when parent ID of getlayout can't be found
* Adding in visible property to docs
* Helpful comments in the code
Diffstat (limited to 'libdbusmenu-gtk/menu.c')
-rw-r--r-- | libdbusmenu-gtk/menu.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libdbusmenu-gtk/menu.c b/libdbusmenu-gtk/menu.c index 103ecfe..4fa546b 100644 --- a/libdbusmenu-gtk/menu.c +++ b/libdbusmenu-gtk/menu.c @@ -237,7 +237,7 @@ root_child_added (DbusmenuMenuitem * root, DbusmenuMenuitem * child, guint posit GtkMenuItem * mi = dbusmenu_gtkclient_menuitem_get(priv->client, child); if (mi != NULL) { GtkWidget * item = GTK_WIDGET(mi); - gtk_menu_insert(GTK_MENU(menu), item, position); + gtk_menu_insert(GTK_MENU(menu), item, dbusmenu_menuitem_get_position_realized(child, root)); #ifdef MASSIVEDEBUGGING menu_pos_t menu_pos; menu_pos.mi = mi; @@ -260,7 +260,7 @@ root_child_moved (DbusmenuMenuitem * root, DbusmenuMenuitem * child, guint newpo g_debug("Root child moved"); #endif DbusmenuGtkMenuPrivate * priv = DBUSMENU_GTKMENU_GET_PRIVATE(menu); - gtk_menu_reorder_child(GTK_MENU(menu), GTK_WIDGET(dbusmenu_gtkclient_menuitem_get(priv->client, child)), newposition); + gtk_menu_reorder_child(GTK_MENU(menu), GTK_WIDGET(dbusmenu_gtkclient_menuitem_get(priv->client, child)), dbusmenu_menuitem_get_position_realized(child, root)); return; } @@ -300,7 +300,7 @@ child_realized (DbusmenuMenuitem * child, gpointer userdata) if (child_widget != NULL) { gtk_menu_append(menu, child_widget); - gtk_menu_reorder_child(GTK_MENU(menu), child_widget, dbusmenu_menuitem_get_position(child, dbusmenu_client_get_root(DBUSMENU_CLIENT(priv->client)))); + gtk_menu_reorder_child(GTK_MENU(menu), child_widget, dbusmenu_menuitem_get_position_realized(child, dbusmenu_client_get_root(DBUSMENU_CLIENT(priv->client)))); } else { g_warning("Child is realized, but doesn't have a GTK Widget!"); } |