dbus/dbus dbus-object-tree.c,1.9,1.9.2.1

Joe Shaw joe at freedesktop.org
Wed Mar 9 09:29:39 PST 2005


Update of /cvs/dbus/dbus/dbus
In directory gabe:/tmp/cvs-serv13767/dbus

Modified Files:
      Tag: dbus-0-23
	dbus-object-tree.c 
Log Message:
2005-03-09  Joe Shaw  <joeshaw at 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.

Index: dbus-object-tree.c
===================================================================
RCS file: /cvs/dbus/dbus/dbus/dbus-object-tree.c,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -u -d -r1.9 -r1.9.2.1
--- dbus-object-tree.c	10 Aug 2004 03:07:00 -0000	1.9
+++ dbus-object-tree.c	9 Mar 2005 17:29:37 -0000	1.9.2.1
@@ -451,6 +451,9 @@
 
   _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_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 @@
     }
   subtree = NULL;
 
+unlock:
   connection = tree->connection;
 
   /* Unlock and call application code */



More information about the dbus-commit mailing list