summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-object-tree.c
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 /dbus/dbus-object-tree.c
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.
Diffstat (limited to 'dbus/dbus-object-tree.c')
-rw-r--r--dbus/dbus-object-tree.c6
1 files changed, 5 insertions, 1 deletions
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 */