mirror of
https://github.com/xemu-project/xemu.git
synced 2025-01-30 00:12:41 +00:00
qom: Demote already-has-a-parent to a regular error
Rather than an abort(). This allows callers to decide whether parenting an already-parented object is a fatal error condition. Useful for providing a default value for an object's parent in the case where you want to set one iff it doesn't already have one. Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d3c4931647
commit
8faa2f8571
@ -1089,6 +1089,11 @@ void object_property_add_child(Object *obj, const char *name,
|
||||
gchar *type;
|
||||
ObjectProperty *op;
|
||||
|
||||
if (child->parent != NULL) {
|
||||
error_setg(errp, "child object is already parented");
|
||||
return;
|
||||
}
|
||||
|
||||
type = g_strdup_printf("child<%s>", object_get_typename(OBJECT(child)));
|
||||
|
||||
op = object_property_add(obj, name, type, object_get_child_property, NULL,
|
||||
@ -1100,7 +1105,6 @@ void object_property_add_child(Object *obj, const char *name,
|
||||
|
||||
op->resolve = object_resolve_child_property;
|
||||
object_ref(child);
|
||||
g_assert(child->parent == NULL);
|
||||
child->parent = obj;
|
||||
|
||||
out:
|
||||
|
Loading…
x
Reference in New Issue
Block a user