aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-02-04 19:33:06 -0800
committerTed Gould <ted@gould.cx>2010-02-04 19:33:06 -0800
commit83b95ddc6fd3317cc4c0e4b65d42c59bfb208a84 (patch)
tree517cb84cef6ef2a2a66e0eaf866f35a00b9eba4e /libdbusmenu-glib/menuitem.c
parent6bed6531192b318cfcf4281662491521b95b68f6 (diff)
parent8453c34c99dea3ab0742bfb87045b880a723c4f9 (diff)
downloadlibdbusmenu-83b95ddc6fd3317cc4c0e4b65d42c59bfb208a84.tar.gz
libdbusmenu-83b95ddc6fd3317cc4c0e4b65d42c59bfb208a84.tar.bz2
libdbusmenu-83b95ddc6fd3317cc4c0e4b65d42c59bfb208a84.zip
* Upstream Merge
* Auto handle ids even for subclasses
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 14bc2db..6739257 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -270,7 +270,7 @@ dbusmenu_menuitem_init (DbusmenuMenuitem *self)
{
DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(self);
- priv->id = 0;
+ priv->id = -1;
priv->children = NULL;
priv->properties = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, _g_value_free);
@@ -335,6 +335,9 @@ get_property (GObject * obj, guint id, GValue * value, GParamSpec * pspec)
switch (id) {
case PROP_ID:
+ if (priv->id == -1) {
+ priv->id = menuitem_next_id++;
+ }
g_value_set_int(value, priv->id);
break;
}