diff --git a/qobject/block-qdict.c b/qobject/block-qdict.c index 1487cc5dd8..4a83bda2c3 100644 --- a/qobject/block-qdict.c +++ b/qobject/block-qdict.c @@ -251,12 +251,12 @@ void qdict_array_split(QDict *src, QList **dst) if (is_subqdict) { qdict_extract_subqdict(src, &subqdict, prefix); assert(qdict_size(subqdict) > 0); + qlist_append_obj(*dst, QOBJECT(subqdict)); } else { qobject_ref(subqobj); qdict_del(src, indexstr); + qlist_append_obj(*dst, subqobj); } - - qlist_append_obj(*dst, subqobj ?: QOBJECT(subqdict)); } }