The qobject_to_FOO() crash on null, which is a trap for the unwary. Return null instead, and simplify a few callers.
Throw in a patch to drop QObject_HEAD. Luiz, I'm happy to take this through my tree, since got a QMP series based on it (to be posted shortly). Markus Armbruster (6): qobject: Drop QObject_HEAD qbool: Make conversion from QObject * accept null qdict: Make conversion from QObject * accept null qfloat qint: Make conversion from QObject * accept null qlist: Make conversion from QObject * accept null qstring: Make conversion from QObject * accept null include/qapi/qmp/qbool.h | 2 +- include/qapi/qmp/qdict.h | 2 +- include/qapi/qmp/qfloat.h | 2 +- include/qapi/qmp/qint.h | 2 +- include/qapi/qmp/qlist.h | 2 +- include/qapi/qmp/qobject.h | 4 ---- include/qapi/qmp/qstring.h | 2 +- qapi/qmp-input-visitor.c | 40 ++++++++++++++++++++++------------------ qga/main.c | 11 +++-------- qobject/qbool.c | 4 ++-- qobject/qdict.c | 39 ++++++++++++--------------------------- qobject/qfloat.c | 4 ++-- qobject/qint.c | 4 ++-- qobject/qlist.c | 3 +-- qobject/qstring.c | 4 ++-- 15 files changed, 52 insertions(+), 73 deletions(-) -- 2.4.3