]> git.0d.be Git - empathy.git/commitdiff
Don't escape message before detecting smileys otherwise some won't be detected.
authorXavier Claessens <xclaesse@gmail.com>
Sun, 20 Jul 2008 18:14:05 +0000 (20:14 +0200)
committerXavier Claessens <xclaesse@gmail.com>
Thu, 11 Jun 2009 16:06:30 +0000 (18:06 +0200)
libempathy-gtk/empathy-theme-adium.c

index 2b2504ffdf8c900a840274c049c95ac52608c4f0..da0028e4ec001e95e2ab20a872dba99cd242abb1 100644 (file)
@@ -217,16 +217,14 @@ theme_adium_parse_body (EmpathyThemeAdium *theme,
        gchar                 *ret = NULL;
        gint                   prev;
 
-       ret = g_markup_escape_text (text, -1);
-
        empathy_conf_get_bool (empathy_conf_get (),
                               EMPATHY_PREFS_CHAT_SHOW_SMILEYS,
                               &use_smileys);
 
        if (use_smileys) {
                /* Replace smileys by a <img/> tag */
-               string = g_string_sized_new (strlen (ret));
-               smileys = empathy_smiley_manager_parse (priv->smiley_manager, ret);
+               string = g_string_sized_new (strlen (text));
+               smileys = empathy_smiley_manager_parse (priv->smiley_manager, text);
                for (l = smileys; l; l = l->next) {
                        EmpathySmiley *smiley;
 
@@ -236,13 +234,14 @@ theme_adium_parse_body (EmpathyThemeAdium *theme,
                                                        "<abbr title='%s'><img src=\"%s\"/ alt=\"%s\"/></abbr>",
                                                        smiley->str, smiley->path, smiley->str);
                        } else {
-                               g_string_append (string, smiley->str);
+                               ret = g_markup_escape_text (smiley->str, -1);
+                               g_string_append (string, ret);
+                               g_free (ret);
                        }
                        empathy_smiley_free (smiley);
                }
                g_slist_free (smileys);
 
-               g_free (ret);
                ret = g_string_free (string, FALSE);
        }