Unlink node before calling remove callback
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 26 Dec 2008 21:53:11 +0000 (22:53 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 26 Dec 2008 21:53:11 +0000 (22:53 +0100)
src/element.c

index a690046..fbc5cc9 100644 (file)
@@ -1783,6 +1783,9 @@ static gboolean remove_element(GNode *node, gpointer user_data)
        if (element == root)
                return FALSE;
 
+       if (node != NULL)
+               g_node_unlink(node);
+
        if (element->driver) {
                disable_element(element);
 
@@ -1794,10 +1797,8 @@ static gboolean remove_element(GNode *node, gpointer user_data)
                __connman_element_unlock(element);
        }
 
-       if (node != NULL) {
-               g_node_unlink(node);
+       if (node != NULL)
                g_node_destroy(node);
-       }
 
        if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION) {
                if (__connman_element_count(NULL,