2005-03-09 Joe Shaw <joeshaw@novell.com>
authorJoe Shaw <joeshaw@novell.com>
Wed, 9 Mar 2005 17:30:38 +0000 (17:30 +0000)
committerJoe Shaw <joeshaw@novell.com>
Wed, 9 Mar 2005 17:30:38 +0000 (17:30 +0000)
* 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.

ChangeLog
dbus/dbus-object-tree.c

index c57228a..c59cab9 100644 (file)
--- 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
index 87624f5..1d6029a 100644 (file)
@@ -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 */