aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-02-21 21:19:48 -0600
committerTed Gould <ted@gould.cx>2011-02-21 21:19:48 -0600
commitf1fb82edb2ebcd07af0efbbf7ed98509ae297576 (patch)
tree0ebb5ac99960389f286f1fc0c65b514e61c46838 /libdbusmenu-glib/menuitem.c
parentdb5438c7f8721ca3b32df9be5b3cd980aebc6784 (diff)
downloadlibdbusmenu-f1fb82edb2ebcd07af0efbbf7ed98509ae297576.tar.gz
libdbusmenu-f1fb82edb2ebcd07af0efbbf7ed98509ae297576.tar.bz2
libdbusmenu-f1fb82edb2ebcd07af0efbbf7ed98509ae297576.zip
If we can't get the value from our database, let's check the defaults.
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 2e3b8f0..a3369af 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -1133,7 +1133,13 @@ dbusmenu_menuitem_property_get_variant (DbusmenuMenuitem * mi, const gchar * pro
DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi);
- return (GVariant *)g_hash_table_lookup(priv->properties, property);
+ GVariant * currentval = (GVariant *)g_hash_table_lookup(priv->properties, property);
+
+ if (currentval == NULL) {
+ currentval = dbusmenu_defaults_default_get(priv->defaults, menuitem_get_type(mi), property);
+ }
+
+ return currentval;
}
/**