aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/monitor.c b/monitor.c
index 6ff6e1f2a..8c36b1089 100644
--- a/monitor.c
+++ b/monitor.c
@@ -286,7 +286,6 @@ static void monitor_protocol_emitter(Monitor *mon, QObject *data)
if (!monitor_has_error(mon)) {
/* success response */
if (data) {
- assert(qobject_type(data) == QTYPE_QDICT);
qobject_incref(data);
qdict_put_obj(qmp, "return", data);
} else {
@@ -369,8 +368,10 @@ void monitor_protocol_event(MonitorEvent event, QObject *data)
qmp = qdict_new();
timestamp_put(qmp);
qdict_put(qmp, "event", qstring_from_str(event_name));
- if (data)
+ if (data) {
+ qobject_incref(data);
qdict_put_obj(qmp, "data", data);
+ }
monitor_json_emitter(mon, QOBJECT(qmp));
QDECREF(qmp);