diff options
| author | Daniel P. Berrangé <berrange@redhat.com> | 2018-06-15 16:39:35 +0100 |
|---|---|---|
| committer | Daniel P. Berrangé <berrange@redhat.com> | 2019-02-26 15:25:58 +0000 |
| commit | 6134d7522e570a30d7f0d1e092ee37351c5183ed (patch) | |
| tree | 5945262f4ff072c9a4af5047623e87d0a54746f4 /qom/object.c | |
| parent | 90e33dfec651c04d75f20a4e5c20593145c5d90e (diff) | |
| download | focaccia-qemu-6134d7522e570a30d7f0d1e092ee37351c5183ed.tar.gz focaccia-qemu-6134d7522e570a30d7f0d1e092ee37351c5183ed.zip | |
qom: don't require user creatable objects to be registered
When an object is in turn owned by another user object, it is not desirable to expose this in the QOM object hierarchy. It is just an internal implementation detail, we should be free to change without exposure to apps managing QEMU. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'qom/object.c')
| -rw-r--r-- | qom/object.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/qom/object.c b/qom/object.c index b8c732063b..05a8567041 100644 --- a/qom/object.c +++ b/qom/object.c @@ -646,16 +646,20 @@ Object *object_new_with_propv(const char *typename, goto error; } - object_property_add_child(parent, id, obj, &local_err); - if (local_err) { - goto error; + if (id != NULL) { + object_property_add_child(parent, id, obj, &local_err); + if (local_err) { + goto error; + } } uc = (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (uc) { user_creatable_complete(uc, &local_err); if (local_err) { - object_unparent(obj); + if (id != NULL) { + object_unparent(obj); + } goto error; } } |