[PATCH parole] Add missing escaping in audiobox
Simon Marchi
simon.marchi at polymtl.ca
Mon Apr 10 04:22:09 CEST 2017
On 2017-03-26 16:27, Simon Marchi wrote:
> When playing a file with an ampersand in it, I noticed this kind of
> warnings:
>
> (parole:16594): Gtk-WARNING **: Failed to set text '<span
> color='#F4F4F4'><b><big>test & test.mp3</big></b></span>' from markup
> due to error parsing markup: Error on line 1: Entity did not end with
> a semicolon; most likely you used an ampersand character without
> intending to start an entity - escape ampersand as &
>
> And indeed, the function parole_player_media_tag_cb fails to escape the
> filename. I changed the calls to g_strdup_printf to
> g_markup_printf_escaped. The warnings have disappeared, and the
> audiobox now shows the filename whereas it would show "Unknown song"
> before.
> ---
> src/parole-player.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/parole-player.c b/src/parole-player.c
> index 6baddb3..3b39974 100644
> --- a/src/parole-player.c
> +++ b/src/parole-player.c
> @@ -1912,13 +1912,13 @@ parole_player_media_tag_cb (ParoleGst *gst,
> const ParoleStream *stream, ParolePl
> if ( filename )
> {
> gtk_window_set_title (GTK_WINDOW
> (player->priv->window), filename);
> -
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title),
> g_strdup_printf("<span color='#F4F4F4'><b><big>%s</big></b></span>",
> filename));
> +
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title),
> g_markup_printf_escaped("<span
> color='#F4F4F4'><b><big>%s</big></b></span>", filename));
> g_free (filename);
> }
> else
> {
> gtk_window_set_title (GTK_WINDOW
> (player->priv->window), _("Parole Media Player"));
> -
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title),
> g_strdup_printf("<span color='#F4F4F4'><b><big>%s</big></b></span>",
> _("Unknown Song")));
> +
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title),
> g_markup_printf_escaped("<span
> color='#F4F4F4'><b><big>%s</big></b></span>", _("Unknown Song")));
> }
> }
> g_free(uri);
> @@ -1934,7 +1934,7 @@ parole_player_media_tag_cb (ParoleGst *gst,
> const ParoleStream *stream, ParolePl
> }
>
> else
> -
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_album),
> g_strdup_printf("<big><span color='#BBBBBB'><i>%s</i></span> <span
> color='#F4F4F4'>%s</span></big>", _("on"), _("Unknown Album")));
> +
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_album),
> g_markup_printf_escaped("<big><span color='#BBBBBB'><i>%s</i></span>
> <span color='#F4F4F4'>%s</span></big>", _("on"), _("Unknown Album")));
>
> if (year)
> g_free (year);
> @@ -1945,7 +1945,7 @@ parole_player_media_tag_cb (ParoleGst *gst,
> const ParoleStream *stream, ParolePl
> g_free (artist);
> }
> else
> -
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_artist),
> g_strdup_printf("<big><span color='#BBBBBB'><i>%s</i></span> <span
> color='#F4F4F4'>%s</span></big>", _("by"), _("Unknown Artist")));
> +
> gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_artist),
> g_markup_printf_escaped("<big><span color='#BBBBBB'><i>%s</i></span>
> <span color='#F4F4F4'>%s</span></big>", _("by"), _("Unknown
> Artist")));
>
> image = parole_stream_get_image(G_OBJECT(stream));
> if (image)
Ping.
More information about the Xfce4-dev
mailing list