aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-03-31 13:51:48 -0500
committerTed Gould <ted@gould.cx>2010-03-31 13:51:48 -0500
commit0bec1d5af5d3d61ffc24913e0257f724765e5563 (patch)
treee6aaa5fd904fbb136625714c1643381b5baa26ce /libdbusmenu-glib
parent79f8505edd8fd05373275f2835e2400d7611fcf5 (diff)
parent04ad3cb433ac8ed581998ea6ce69bd0e7d1dbb68 (diff)
downloadlibdbusmenu-0bec1d5af5d3d61ffc24913e0257f724765e5563.tar.gz
libdbusmenu-0bec1d5af5d3d61ffc24913e0257f724765e5563.tar.bz2
libdbusmenu-0bec1d5af5d3d61ffc24913e0257f724765e5563.zip
Bringing up to date with trunk
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r--libdbusmenu-glib/client.c16
-rw-r--r--libdbusmenu-glib/menuitem.c2
-rw-r--r--libdbusmenu-glib/menuitem.h2
3 files changed, 17 insertions, 3 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index ef0205f..09a663a 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -337,7 +337,12 @@ id_prop_update (DBusGProxy * proxy, gint id, gchar * property, GValue * value, D
g_return_if_fail(priv->root != NULL);
DbusmenuMenuitem * menuitem = dbusmenu_menuitem_find_id(priv->root, id);
- g_return_if_fail(menuitem != NULL);
+ if (menuitem == NULL) {
+ #ifdef MASSIVEDEBUGGING
+ g_debug("Property update '%s' on id %d which couldn't be found", property, id);
+ #endif
+ return;
+ }
dbusmenu_menuitem_property_set_value(menuitem, property, value);
@@ -444,6 +449,9 @@ proxy_destroyed (GObject * gobj_proxy, gpointer userdata)
priv->layoutcall = NULL;
}
+ priv->current_revision = 0;
+ priv->my_revision = 0;
+
build_dbus_proxy(DBUSMENU_CLIENT(userdata));
return;
}
@@ -848,13 +856,17 @@ parse_layout (DbusmenuClient * client, const gchar * layout)
clean up that old root */
if (oldroot != NULL) {
dbusmenu_menuitem_set_root(oldroot, FALSE);
- g_object_unref(oldroot);
}
/* If the root changed we can signal that */
g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE);
}
+ /* We need to unref it in this function no matter */
+ if (oldroot != NULL) {
+ g_object_unref(oldroot);
+ }
+
return 1;
}
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 0186a20..fce8ed5 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -459,7 +459,7 @@ take_children_signal (gpointer data, gpointer user_data)
While the name sounds devious that's exactly what this function
does. It takes the list of children from the @mi and clears the
- internal list. The calling function is no in charge of the ref's
+ internal list. The calling function is now in charge of the ref's
on the children it has taken. A lot of responsibility involved
in taking children.
diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h
index 0183254..cb6b8f4 100644
--- a/libdbusmenu-glib/menuitem.h
+++ b/libdbusmenu-glib/menuitem.h
@@ -66,6 +66,8 @@ G_BEGIN_DECLS
#define DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED 1
#define DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN -1
+#define DBUSMENU_MENUITEM_ICON_NAME_BLANK "blank-icon"
+
/**
DbusmenuMenuitem: