From af7b86372622c667ed6b4e27a55bcfef7a297e79 Mon Sep 17 00:00:00 2001 From: Kirill Shchetiniuk Date: Wed, 4 Jun 2025 14:24:13 +0200 Subject: [PATCH] conf: SDL fullscreen option refactor MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/conf/domain_conf.c | 9 ++++----- src/conf/domain_conf.h | 2 +- src/qemu/qemu_command.c | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) 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"); -- 2.47.3