diff options
-rw-r--r-- | debian/changelog | 8 | ||||
-rw-r--r-- | libdbusmenu-gtk/parser.c | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index bbd2b78..be83197 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +libdbusmenu (0.3.100-0ubuntu4) natty; urgency=low + + * libdbusmenu-gtk/parser.c + - Ensure we set the CACHED_MENUITEM data on GtkWidget's, this fixes a few + bugs (LP: #723463) (LP: #729128) (LP: #729194) + + -- Ken VanDine <ken.vandine@canonical.com> Tue, 08 Mar 2011 20:49:41 -0500 + libdbusmenu (0.3.100-0ubuntu3) natty; urgency=low * libdbusmenu-glib/menuitem.c diff --git a/libdbusmenu-gtk/parser.c b/libdbusmenu-gtk/parser.c index cf2003f..b0a5cfd 100644 --- a/libdbusmenu-gtk/parser.c +++ b/libdbusmenu-gtk/parser.c @@ -219,6 +219,7 @@ new_menuitem (GtkWidget * widget) pdata->widget = widget; g_object_add_weak_pointer(G_OBJECT (widget), (gpointer*)&pdata->widget); + g_object_set_data(G_OBJECT(widget), CACHED_MENUITEM, item); return item; } @@ -311,6 +312,10 @@ parse_menu_structure_helper (GtkWidget * widget, RecurseContext * recurse) /* Oops, let's tell our parents about us */ if (peek == NULL) { + if (dbusmenu_menuitem_get_parent(thisitem) != NULL) { + dbusmenu_menuitem_unparent(thisitem); + } + gint pos = get_child_position (widget); if (pos >= 0) dbusmenu_menuitem_child_add_position (recurse->parent, |