@@ -72,7 +72,7 @@ struct MouseTransformInfo {
int a[7];
};
-void do_info_mice_print(Monitor *mon, const QObject *data);
+void do_info_mice(Monitor *mon);
void qmp_query_mice(Monitor *mon, QObject **ret_data);
void do_mouse_set(Monitor *mon, const QDict *qdict);
@@ -207,17 +207,22 @@ static void info_mice_iter(QObject *data, void *opaque)
qdict_get_bool(mouse, "absolute") ? " (absolute)" : "");
}
-void do_info_mice_print(Monitor *mon, const QObject *data)
+void do_info_mice(Monitor *mon)
{
QList *mice_list;
+ QObject *data;
+ qmp_query_mice(NULL, &data);
mice_list = qobject_to_qlist(data);
if (qlist_empty(mice_list)) {
monitor_printf(mon, "No mouse devices connected\n");
- return;
+ goto out;
}
qlist_iter(mice_list, info_mice_iter, mon);
+
+out:
+ qobject_decref(data);
}
void qmp_query_mice(Monitor *mon, QObject **ret_data)
@@ -2560,8 +2560,7 @@ static const mon_cmd_t info_cmds[] = {
.args_type = "",
.params = "",
.help = "show which guest mouse is receiving events",
- .user_print = do_info_mice_print,
- .mhandler.info_new = qmp_query_mice,
+ .mhandler.info = do_info_mice,
},
{
.name = "vnc",
The new handler directly calls qmp_query_mice() to gather data and then prints it. This change allows us to drop the user_print callback. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> --- console.h | 2 +- input.c | 9 +++++++-- monitor.c | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-)