summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Shaw <joeshaw@novell.com>2005-03-09 17:30:38 +0000
committerJoe Shaw <joeshaw@novell.com>2005-03-09 17:30:38 +0000
commit59948748b24ca6f266b1eb957849e3d3127242bd (patch)
tree8c850d45bf2bc72e0169863b90b92ee58209ae76
parent74b1b35402f6b9bbc09999a6224dfc04bc48b2a9 (diff)
2005-03-09 Joe Shaw <joeshaw@novell.com>
* dbus/dbus-object-tree.c (_dbus_object_tree_unregister_and_unlock): If checks are enabled and we try to unregister a path that's not registered, still go through the process of unlocking and don't just return.
-rw-r--r--ChangeLog7
-rw-r--r--dbus/dbus-object-tree.c6
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c57228a1..c59cab9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-03-09 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-object-tree.c
+ (_dbus_object_tree_unregister_and_unlock): If checks are enabled
+ and we try to unregister a path that's not registered, still go
+ through the process of unlocking and don't just return.
+
2005-03-09 Colin Walters <walters@verbum.org>
* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
diff --git a/dbus/dbus-object-tree.c b/dbus/dbus-object-tree.c
index 87624f5d..1d6029af 100644
--- a/dbus/dbus-object-tree.c
+++ b/dbus/dbus-object-tree.c
@@ -451,6 +451,9 @@ _dbus_object_tree_unregister_and_unlock (DBusObjectTree *tree,
_dbus_assert (path != NULL);
+ unregister_function = NULL;
+ user_data = NULL;
+
subtree = find_subtree (tree, path, &i);
#ifndef DBUS_DISABLE_CHECKS
@@ -459,7 +462,7 @@ _dbus_object_tree_unregister_and_unlock (DBusObjectTree *tree,
_dbus_warn ("Attempted to unregister path (path[0] = %s path[1] = %s) which isn't registered\n",
path[0] ? path[0] : "null",
path[1] ? path[1] : "null");
- return;
+ goto unlock;
}
#else
_dbus_assert (subtree != NULL);
@@ -495,6 +498,7 @@ _dbus_object_tree_unregister_and_unlock (DBusObjectTree *tree,
}
subtree = NULL;
+unlock:
connection = tree->connection;
/* Unlock and call application code */