From 5601d115d7e74b78dc1a884902c08c23be7626a8 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 10 Mar 2010 11:41:29 +0100 Subject: [PATCH] Disable empathy_add_link_markup() if linked to an old GTK version Using links in labels could make a freeze, see GNOME #612066 --- libempathy-gtk/empathy-string-parser.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libempathy-gtk/empathy-string-parser.c b/libempathy-gtk/empathy-string-parser.c index 5c3fb197..691263a9 100644 --- a/libempathy-gtk/empathy-string-parser.c +++ b/libempathy-gtk/empathy-string-parser.c @@ -203,6 +203,14 @@ empathy_add_link_markup (const gchar *text) g_return_val_if_fail (text != NULL, NULL); + /* GtkLabel with links could make infinite loop because of + * GNOME bug #612066. It is fixed in GTK >= 2.18.8 and GTK >= 2.19.7. + * FIXME: Remove this check once we have an hard dep on GTK 2.20 */ + if (!gtk_check_version (2, 18, 8) || + (gtk_minor_version == 19 && gtk_micro_version < 7)) { + return g_markup_escape_text (text, -1); + } + string = g_string_sized_new (strlen (text)); empathy_string_parser_substr (text, -1, parsers, string); -- 2.39.2