aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-02-21 21:41:54 -0600
committerTed Gould <ted@gould.cx>2011-02-21 21:41:54 -0600
commit75ecaddcbeb02eaa40d11bb8c3f858062a14471b (patch)
tree3ce1516124d65a8563cf622097cb91a809c25921 /libdbusmenu-glib/menuitem.c
parentac9229802235759397ce6fffc4d89f27be64ad3d (diff)
downloadlibdbusmenu-75ecaddcbeb02eaa40d11bb8c3f858062a14471b.tar.gz
libdbusmenu-75ecaddcbeb02eaa40d11bb8c3f858062a14471b.tar.bz2
libdbusmenu-75ecaddcbeb02eaa40d11bb8c3f858062a14471b.zip
Ensure that we check the local db for the type and don't go all recursive.
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index bc2daf5..ee18fab 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -439,7 +439,12 @@ send_about_to_show (DbusmenuMenuitem * mi, void (*cb) (DbusmenuMenuitem * mi, gp
static const gchar *
menuitem_get_type (DbusmenuMenuitem * mi)
{
- return dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_TYPE);
+ DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi);
+ GVariant * currentval = (GVariant *)g_hash_table_lookup(priv->properties, DBUSMENU_MENUITEM_PROP_TYPE);
+ if (currentval != NULL) {
+ return g_variant_get_string(currentval, NULL);
+ }
+ return NULL;
}
/* Public interface */