aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libindicate/listener.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libindicate/listener.c b/libindicate/listener.c
index 6613e3d..420d8cd 100644
--- a/libindicate/listener.c
+++ b/libindicate/listener.c
@@ -1059,6 +1059,16 @@ introspect_this (DBusGProxy * proxy, char * OUT_data, GError * error, gpointer d
{
g_debug("Introspect this:\n%s", OUT_data);
proxy_t * server = (proxy_t *)data;
+ if (proxy != NULL) {
+ g_object_unref(proxy);
+ }
+ if (error != NULL) {
+ /* We probably couldn't introspect that far up. That's
+ life, it happens. */
+ g_debug("Introspection error on %s object %s: %s", server->name, _introspector_fullpath[server->introspect_level], error->message);
+ return;
+ }
+
if (OUT_data != NULL) {
xmlDocPtr xmldoc;
/* Parse the XML */