On 31.05.2011 14:24, Jiri Denemark wrote:
On Tue, May 24, 2011 at 13:43:30 +0200, Michal Privoznik wrote:
> If spice graphics has no <channel> elements, the output graphics XML
> is messed up. To prevent this, we need to end the <graphics> element
> just before adding any compression selecting elements.
> ---
> src/conf/domain_conf.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 3f2fb11..2800db5 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -8082,6 +8082,12 @@ virDomainGraphicsDefFormat(virBufferPtr buf,
> virDomainGraphicsSpiceChannelNameTypeToString(i),
> virDomainGraphicsSpiceChannelModeTypeToString(mode));
> }
> + if (!children && (def->data.spice.image ||
def->data.spice.jpeg ||
> + def->data.spice.zlib || def->data.spice.playback ||
> + def->data.spice.streaming)) {
> + virBufferAddLit(buf, ">\n");
> + children = 1;
> + }
> if (def->data.spice.image)
> virBufferAsprintf(buf, " <image
compression='%s'/>\n",
>
virDomainGraphicsSpiceImageCompressionTypeToString(def->data.spice.image));
I feel like it's about time to rework all XML formating to just create a tree
of XML nodes and use one universal function to transform the tree into it's
string representation (aka xmlSaveTree() from libxml). Am I the only one?
ACK
Jirka
Thanks, pushed. The test patch will follow.
Michal