]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-log-window.c
log-window: escape the body of the message
[empathy.git] / libempathy-gtk / empathy-log-window.c
index 6a244f503938313090cbac4d0cd93a8d01e17f9f..3bc2967fd36c9745615e87026aec24cc9eca1e26 100644 (file)
@@ -1259,6 +1259,7 @@ log_window_append_chat_message (TplEvent *event,
   GtkTreeStore *store = log_window->priv->store_events;
   GtkTreeIter iter, parent;
   gchar *pretty_date, *alias, *body;
+  gchar *msg_escaped;
   GDateTime *date;
   EmpathyStringParser *parsers;
   GString *msg;
@@ -1282,19 +1283,23 @@ log_window_append_chat_message (TplEvent *event,
   empathy_string_parser_substr (empathy_message_get_body (message), -1,
       parsers, msg);
 
+  msg_escaped = g_strescape (msg->str, NULL);
+
   if (tpl_text_event_get_message_type (TPL_TEXT_EVENT (event))
       == TP_CHANNEL_TEXT_MESSAGE_TYPE_ACTION)
     {
       /* Translators: this is an emote: '* Danielle waves' */
-      body = g_strdup_printf (_("<i>* %s %s</i>"), alias, msg->str);
+      body = g_strdup_printf (_("<i>* %s %s</i>"), alias, msg_escaped);
     }
   else
     {
       /* Translators: this is a message: 'Danielle: hello'
        * The string in bold is the sender's name */
-      body = g_strdup_printf (_("<b>%s:</b> %s"), alias, msg->str);
+      body = g_strdup_printf (_("<b>%s:</b> %s"), alias, msg_escaped);
     }
 
+  g_free (msg_escaped);
+
   gtk_tree_store_append (store, &iter, &parent);
   gtk_tree_store_set (store, &iter,
       COL_EVENTS_TS, tpl_event_get_timestamp (event),