Bug 4226

Summary: Bugs with song names containing "&" characters
Product: Sisyphus Reporter: drF_ckoff <dfo>
Component: gkrellm-gkrellmmsAssignee: Grigory Batalov <bga>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description drF_ckoff 2004-05-25 11:50:01 MSD
При проигрывании песни вида "Emir Kusturica & The No Smoking Orchestra - Djindji
Rindji Bubamara" получаем:
** (gkrellm:3300): WARNING **: pango-layout.c:892: Произошла ошибка в строке 1:
Символ " " недопустим в начале имени сущности; символ "&" начинает
последовательность;  если этот символ не должен быть частью сущности, то
экранируйте его сущностью &amp;
Comment 1 Grigory Batalov 2004-05-25 16:52:40 MSD
Спасибо, очень важная бага. Автор извещён, подождём его ответа.
Если не дождёмся, применим прилагаемый патч:

--- src/krell.c.orig    2004-05-14 23:45:14 +0400
+++ src/krell.c 2004-05-25 16:29:21 +0400
@@ -520,7 +520,7 @@
   */
 void
 gkrellm_decal_scroll_text_set_text(GkrellmPanel *p, GkrellmDecal *d,
-                       gchar *text)
+                       gchar *notescaped_text)
        {
        GtkWidget                       *top_win = gkrellm_get_top_window();
        PangoLayout                     *layout;
@@ -531,10 +531,12 @@
        GkrellmTextstyle        *ts;
        gint                            dx, y_ink;
        gboolean                        new_text, no_scroll_caching;
+       gchar                   *text;
 
        if (!p || !text || !d || d->state == DS_INVISIBLE)
                return;
 
+       text = g_markup_escape_text(notescaped_text, strlen(notescaped_text));
        new_text = gkrellm_dup_string(&d->scroll_text, text);
        no_scroll_caching = (p->transparency || p->scroll_text_cache_off);
 
Comment 2 Grigory Batalov 2004-06-01 22:42:49 MSD
Патч доработан и включен в 2.2.0-alt1.2.