From: Osier Yang Date: Wed, 12 Jan 2011 14:44:00 +0000 (+0800) Subject: qemu: Reject SDL graphic if it's not supported by qemu X-Git-Tag: v0.8.8~227 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0444ce1b001dc6427e97959108a320dbe80e501b;p=thirdparty%2Flibvirt.git qemu: Reject SDL graphic if it's not supported by qemu If the emulator doesn't support SDL graphic, we should reject the use of SDL graphic xml with error messages, but not ignore it silently, and pretend things are fine. "-sdl" flag was exposed explicitly by qemu since 0.10.0, more detail: http://www.redhat.com/archives/libvir-list/2011-January/msg00442.html And we already have capability flag "QEMUD_CMD_FLAG_0_10", which could be used to prevent the patch affecting the older versions of QEMU. * src/qemu/qemu_command.c --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a0075a4ea8..86c5bb590d 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3568,6 +3568,14 @@ qemuBuildCommandLine(virConnectPtr conn, } } else if ((def->ngraphics == 1) && def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) { + if ((qemuCmdFlags & QEMUD_CMD_FLAG_0_10) && + !(qemuCmdFlags & QEMUD_CMD_FLAG_SDL)) { + qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("sdl not supported by '%s'"), + def->emulator); + goto error; + } + if (def->graphics[0]->data.sdl.xauth) virCommandAddEnvPair(cmd, "XAUTHORITY", def->graphics[0]->data.sdl.xauth);