From 485ccb5ac65dc8beccd511c9575c3f58ae52d047 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 4 Aug 2009 22:15:38 +0100 Subject: Escape markup in notifications and icon tooltip 7730ffd fixed this for the notifications that are produced by the chat window, but not for the ones produced by the status icon. Why these are separate code paths eludes me. --- src/empathy-status-icon.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/empathy-status-icon.c') diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c index f6c63c537..1f6a32c95 100644 --- a/src/empathy-status-icon.c +++ b/src/empathy-status-icon.c @@ -23,6 +23,8 @@ #include +#include + #include #include @@ -136,16 +138,18 @@ status_icon_update_notification (EmpathyStatusIcon *icon) } if (priv->event) { + gchar *message_esc = g_markup_escape_text (priv->event->message, -1); + pixbuf = empathy_misc_get_pixbuf_for_notification (priv->event->contact, priv->event->icon_name); if (priv->notification) { notify_notification_update (priv->notification, - priv->event->header, priv->event->message, + priv->event->header, message_esc, NULL); } else { priv->notification = notify_notification_new_with_status_icon - (priv->event->header, priv->event->message, NULL, priv->icon); + (priv->event->header, message_esc, NULL, priv->icon); notify_notification_set_timeout (priv->notification, NOTIFY_EXPIRES_DEFAULT); @@ -160,6 +164,7 @@ status_icon_update_notification (EmpathyStatusIcon *icon) notify_notification_show (priv->notification, NULL); g_object_unref (pixbuf); + g_free (message_esc); } else { notification_close_helper (priv); } @@ -173,12 +178,12 @@ status_icon_update_tooltip (EmpathyStatusIcon *icon) if (priv->event) { if (priv->event->message != NULL) - tooltip = g_strdup_printf ("%s\n%s", - priv->event->header, - priv->event->message); + tooltip = g_markup_printf_escaped ("%s\n%s", + priv->event->header, + priv->event->message); else - tooltip = g_strdup_printf ("%s", - priv->event->header); + tooltip = g_markup_printf_escaped ("%s", + priv->event->header); gtk_status_icon_set_tooltip_markup (priv->icon, tooltip); } else { tooltip = g_strdup (empathy_idle_get_status (priv->idle)); -- cgit v1.2.3