diff options
| author | Joe Shaw <joeshaw@novell.com> | 2005-03-09 17:30:38 +0000 | 
|---|---|---|
| committer | Joe Shaw <joeshaw@novell.com> | 2005-03-09 17:30:38 +0000 | 
| commit | 59948748b24ca6f266b1eb957849e3d3127242bd (patch) | |
| tree | 8c850d45bf2bc72e0169863b90b92ee58209ae76 | |
| parent | 74b1b35402f6b9bbc09999a6224dfc04bc48b2a9 (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-- | ChangeLog | 7 | ||||
| -rw-r--r-- | dbus/dbus-object-tree.c | 6 | 
2 files changed, 12 insertions, 1 deletions
| @@ -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 */ | 
