From: Kirill Shchetiniuk Date: Wed, 4 Jun 2025 12:24:13 +0000 (+0200) Subject: conf: SDL fullscreen option refactor X-Git-Tag: v11.5.0-rc1~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af7b86372622c667ed6b4e27a55bcfef7a297e79;p=thirdparty%2Flibvirt.git conf: SDL fullscreen option refactor Previously, the fullscreen option were parsed as a tristate but stored as a bool type, changed the fullscreen option type to tristate bool to avoid unnecessary type convertions. Signed-off-by: Kirill Shchetiniuk Reviewed-by: Ján Tomko --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c16aa279fb..32a358d72c 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -11891,15 +11891,13 @@ virDomainGraphicsDefParseXMLSDL(virDomainGraphicsDef *def, { VIR_XPATH_NODE_AUTORESTORE(ctxt) xmlNodePtr glNode; - virTristateBool fullscreen; ctxt->node = node; if (virXMLPropTristateBool(node, "fullscreen", VIR_XML_PROP_NONE, - &fullscreen) < 0) + &def->data.sdl.fullscreen) < 0) return -1; - virTristateBoolToBool(fullscreen, &def->data.sdl.fullscreen); def->data.sdl.xauth = virXMLPropString(node, "xauth"); def->data.sdl.display = virXMLPropString(node, "display"); @@ -26956,8 +26954,9 @@ virDomainGraphicsDefFormatSDL(virBuffer *attrBuf, virBufferEscapeString(attrBuf, " xauth='%s'", def->data.sdl.xauth); - if (def->data.sdl.fullscreen) - virBufferAddLit(attrBuf, " fullscreen='yes'"); + if (def->data.sdl.fullscreen != VIR_TRISTATE_BOOL_ABSENT) + virBufferAsprintf(attrBuf, " fullscreen='%s'", + virTristateBoolTypeToString(def->data.sdl.fullscreen)); virDomainGraphicsDefFormatGL(childBuf, def->data.sdl.gl, NULL); } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 58b97a2b54..8df404dc42 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2036,7 +2036,7 @@ struct _virDomainGraphicsDef { struct { char *display; char *xauth; - bool fullscreen; + virTristateBool fullscreen; virTristateBool gl; } sdl; struct { diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index edafe1588c..77e7ea1299 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -8108,7 +8108,7 @@ qemuBuildGraphicsSDLCommandLine(virQEMUDriverConfig *cfg G_GNUC_UNUSED, virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth); if (graphics->data.sdl.display) virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.sdl.display); - if (graphics->data.sdl.fullscreen) + if (graphics->data.sdl.fullscreen == VIR_TRISTATE_BOOL_YES) virCommandAddArg(cmd, "-full-screen"); virCommandAddArg(cmd, "-display");