> -void qmp_screendump(const char *filename, Error **errp)
> +void qmp_screendump(const char *filename, bool has_device, const char
> *device,
> + bool has_head, int64_t head, Error **errp)
> {
> QemuConsole *con = qemu_console_lookup_by_index(0);
This initialization can be dropped ...
> DisplaySurface *surface;
>
> - if (con == NULL) {
> - error_setg(errp, "There is no QemuConsole I can screendump from.");
> - return;
> + if (has_device) {
> + con = qemu_console_lookup_by_device_name(device, has_head ? head : 0,
> + errp);
> + if (!con) {
> + return;
> + }
> + } else {
> + if (has_head) {
> + error_setg(errp, "'head' must be specified together with
> 'device'");
> + return;
> + }
> + con = qemu_console_lookup_by_index(0);
... because it is called here now.
Otherwise looks fine now.
cheers,
Gerd