aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-04-07 10:26:05 -0500
committerTed Gould <ted@gould.cx>2011-04-07 10:26:05 -0500
commit0b028ae913569f5e836c3c05d547c38b43210e82 (patch)
tree93b64e8eecc5ba9b82bcdff243f5049029fc7c04 /libdbusmenu-glib
parent81cebd92254afdc5c9142672ee8c9dbcdfa36655 (diff)
parentf0ab3958e1f7c9b817a5556120ba5c8a12ecbd1c (diff)
downloadlibdbusmenu-0b028ae913569f5e836c3c05d547c38b43210e82.tar.gz
libdbusmenu-0b028ae913569f5e836c3c05d547c38b43210e82.tar.bz2
libdbusmenu-0b028ae913569f5e836c3c05d547c38b43210e82.zip
New upstream release.
∘ Fix GIR scan to not include duplicate namespaces (LP: #750575) ∘ Keep refs to the client and makes sure to disconnect all handlers. (LP: #749609) ∘ Add GTK side handlers for the open/close events to ensure GTK apps can use those events still (LP: #750588) ∘ Create submenus for menuitems that don't have children but still have told us they need them with the child-display property. (LP: #619811)
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r--libdbusmenu-glib/client.c9
-rw-r--r--libdbusmenu-glib/menuitem.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 1378e21..45cf0d1 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -331,6 +331,8 @@ dbusmenu_client_class_init (DbusmenuClientClass *klass)
return;
}
+#define LAYOUT_PROPS_COUNT 5
+
static void
dbusmenu_client_init (DbusmenuClient *self)
{
@@ -351,13 +353,14 @@ dbusmenu_client_init (DbusmenuClient *self)
priv->layoutcall = NULL;
- gchar * layout_props[5];
+ gchar * layout_props[LAYOUT_PROPS_COUNT + 1];
layout_props[0] = DBUSMENU_MENUITEM_PROP_TYPE;
layout_props[1] = DBUSMENU_MENUITEM_PROP_LABEL;
layout_props[2] = DBUSMENU_MENUITEM_PROP_VISIBLE;
layout_props[3] = DBUSMENU_MENUITEM_PROP_ENABLED;
- layout_props[4] = NULL;
- priv->layout_props = g_variant_new_strv((const gchar * const *)layout_props, 4);
+ layout_props[4] = DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY;
+ layout_props[LAYOUT_PROPS_COUNT] = NULL;
+ priv->layout_props = g_variant_new_strv((const gchar * const *)layout_props, LAYOUT_PROPS_COUNT);
g_variant_ref_sink(priv->layout_props);
priv->current_revision = 0;
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 70b5fd2..bdaf49f 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -446,7 +446,7 @@ send_about_to_show (DbusmenuMenuitem * mi, void (*cb) (DbusmenuMenuitem * mi, gp
{
g_return_if_fail(DBUSMENU_IS_MENUITEM(mi));
- if (dbusmenu_menuitem_get_children(mi) == NULL) {
+ if (dbusmenu_menuitem_get_children(mi) == NULL && g_strcmp0(DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU, dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY)) != 0) {
g_warning("About to Show called on an item wihtout submenus. We're ignoring it.");
} else {
gboolean dummy;