diff options
-rw-r--r-- | src/themes/coco/coco-theme.c | 14 | ||||
-rw-r--r-- | src/themes/nodoka/nodoka-theme.c | 14 | ||||
-rw-r--r-- | src/themes/slider/theme.c | 13 | ||||
-rw-r--r-- | src/themes/standard/theme.c | 13 |
4 files changed, 40 insertions, 14 deletions
diff --git a/src/themes/coco/coco-theme.c b/src/themes/coco/coco-theme.c index ca742b4..c1fa929 100644 --- a/src/themes/coco/coco-theme.c +++ b/src/themes/coco/coco-theme.c @@ -506,10 +506,16 @@ set_notification_text(GtkWindow *nw, const char *summary, const char *body) gtk_label_set_markup(GTK_LABEL(windata->summary_label), str); g_free(str); - quoted = g_markup_escape_text(body, -1); - str = g_strdup_printf( - "<span color=\"#EAEAEA\">%s</span>", quoted); - g_free(quoted); + if (strstr(body, "&") || strstr(body, "<") || strstr(body, ">") || strstr(body, "'") || strstr(body, """)) + { + str = g_strdup_printf("<span color=\"#EAEAEA\">%s</span>", body); + } + else + { + quoted = g_markup_escape_text(body, -1); + str = g_strdup_printf("<span color=\"#EAEAEA\">%s</span>", quoted); + g_free(quoted); + } gtk_label_set_markup (GTK_LABEL (windata->body_label), str); g_free(str); diff --git a/src/themes/nodoka/nodoka-theme.c b/src/themes/nodoka/nodoka-theme.c index 628a415..dcb8449 100644 --- a/src/themes/nodoka/nodoka-theme.c +++ b/src/themes/nodoka/nodoka-theme.c @@ -891,10 +891,16 @@ set_notification_text(GtkWindow *nw, const char *summary, const char *body) gtk_label_set_markup(GTK_LABEL(windata->summary_label), str); g_free(str); - quoted = g_markup_escape_text(body, -1); - str = g_strdup_printf( - "<span color=\"#000000\">%s</span>", quoted); - g_free(quoted); + if (strstr(body, "&") || strstr(body, "<") || strstr(body, ">") || strstr(body, "'") || strstr(body, """)) + { + str = g_strdup_printf("<span color=\"#000000\">%s</span>", body); + } + else + { + quoted = g_markup_escape_text(body, -1); + str = g_strdup_printf("<span color=\"#000000\">%s</span>", quoted); + g_free(quoted); + } gtk_label_set_markup(GTK_LABEL(windata->body_label), str); g_free(str); diff --git a/src/themes/slider/theme.c b/src/themes/slider/theme.c index 86440b0..cf4724a 100644 --- a/src/themes/slider/theme.c +++ b/src/themes/slider/theme.c @@ -513,9 +513,16 @@ void set_notification_text(GtkWindow* nw, const char* summary, const char* body) gtk_label_set_markup(GTK_LABEL(windata->summary_label), str); g_free(str); - quoted = g_markup_escape_text(body, -1); - gtk_label_set_markup(GTK_LABEL(windata->body_label), quoted); - g_free(quoted); + if (strstr(body, "&") || strstr(body, "<") || strstr(body, ">") || strstr(body, "'") || strstr(body, """)) + { + gtk_label_set_markup(GTK_LABEL(windata->body_label), body); + } + else + { + quoted = g_markup_escape_text(body, -1); + gtk_label_set_markup(GTK_LABEL(windata->body_label), quoted); + g_free(quoted); + } if (body == NULL || *body == '\0') { diff --git a/src/themes/standard/theme.c b/src/themes/standard/theme.c index ba44fcd..f13d174 100644 --- a/src/themes/standard/theme.c +++ b/src/themes/standard/theme.c @@ -857,9 +857,16 @@ void set_notification_text(GtkWindow* nw, const char* summary, const char* body) gtk_label_set_markup(GTK_LABEL(windata->summary_label), str); g_free(str); - quoted = g_markup_escape_text(body, -1); - gtk_label_set_markup(GTK_LABEL(windata->body_label), quoted); - g_free(quoted); + if (strstr(body, "&") || strstr(body, "<") || strstr(body, ">") || strstr(body, "'") || strstr(body, """)) + { + gtk_label_set_markup(GTK_LABEL(windata->body_label), body); + } + else + { + quoted = g_markup_escape_text(body, -1); + gtk_label_set_markup(GTK_LABEL(windata->body_label), quoted); + g_free(quoted); + } if (body == NULL || *body == '\0') { |