aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog8
-rw-r--r--libdbusmenu-gtk/parser.c5
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,