|
@@ -59,6 +59,8 @@ static void bus_remove_child(BusState *bus, DeviceState *child)
|
|
|
snprintf(name, sizeof(name), "child[%d]", kid->index);
|
|
|
QTAILQ_REMOVE(&bus->children, kid, sibling);
|
|
|
|
|
|
+ bus->num_children--;
|
|
|
+
|
|
|
/* This gives back ownership of kid->child back to us. */
|
|
|
object_property_del(OBJECT(bus), name, NULL);
|
|
|
object_unref(OBJECT(kid->child));
|
|
@@ -73,6 +75,7 @@ static void bus_add_child(BusState *bus, DeviceState *child)
|
|
|
char name[32];
|
|
|
BusChild *kid = g_malloc0(sizeof(*kid));
|
|
|
|
|
|
+ bus->num_children++;
|
|
|
kid->index = bus->max_index++;
|
|
|
kid->child = child;
|
|
|
object_ref(OBJECT(kid->child));
|