aboutsummaryrefslogtreecommitdiff
path: root/qom/object_interfaces.c
diff options
context:
space:
mode:
Diffstat (limited to 'qom/object_interfaces.c')
-rw-r--r--qom/object_interfaces.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
index 739e3e5172..bc36f96e47 100644
--- a/qom/object_interfaces.c
+++ b/qom/object_interfaces.c
@@ -106,7 +106,7 @@ out:
return obj;
}
-void user_creatable_add_dict(QDict *qdict, Error **errp)
+void user_creatable_add_dict(QDict *qdict, bool keyval, Error **errp)
{
Visitor *v;
Object *obj;
@@ -127,7 +127,11 @@ void user_creatable_add_dict(QDict *qdict, Error **errp)
}
qdict_del(qdict, "id");
- v = qobject_input_visitor_new(QOBJECT(qdict));
+ if (keyval) {
+ v = qobject_input_visitor_new_keyval(QOBJECT(qdict));
+ } else {
+ v = qobject_input_visitor_new(QOBJECT(qdict));
+ }
obj = user_creatable_add_type(type, id, qdict, v, errp);
visit_free(v);
object_unref(obj);