Blame SOURCES/evolution-3.12.11-buffer-tagger-char-offset.patch
|
|
4b6d7b |
diff -up evolution-3.12.11/e-util/e-buffer-tagger.c.buffer-tagger-char-offset evolution-3.12.11/e-util/e-buffer-tagger.c
|
|
|
4b6d7b |
--- evolution-3.12.11/e-util/e-buffer-tagger.c.buffer-tagger-char-offset 2014-06-05 11:52:08.000000000 +0200
|
|
|
4b6d7b |
+++ evolution-3.12.11/e-util/e-buffer-tagger.c 2015-07-27 12:00:33.867884477 +0200
|
|
|
4b6d7b |
@@ -109,13 +109,18 @@ markup_text (GtkTextBuffer *buffer)
|
|
|
4b6d7b |
any = FALSE;
|
|
|
4b6d7b |
for (i = 0; i < G_N_ELEMENTS (mim); i++) {
|
|
|
4b6d7b |
if (mim[i].preg && !regexec (mim[i].preg, str, 2, pmatch, 0)) {
|
|
|
4b6d7b |
- gtk_text_buffer_get_iter_at_offset (buffer, &start, offset + pmatch[0].rm_so);
|
|
|
4b6d7b |
- gtk_text_buffer_get_iter_at_offset (buffer, &end, offset + pmatch[0].rm_eo);
|
|
|
4b6d7b |
+ gint char_so, char_eo;
|
|
|
4b6d7b |
+
|
|
|
4b6d7b |
+ char_so = g_utf8_pointer_to_offset (str, str + pmatch[0].rm_so);
|
|
|
4b6d7b |
+ char_eo = g_utf8_pointer_to_offset (str, str + pmatch[0].rm_eo);
|
|
|
4b6d7b |
+
|
|
|
4b6d7b |
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, offset + char_so);
|
|
|
4b6d7b |
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, offset + char_eo);
|
|
|
4b6d7b |
gtk_text_buffer_apply_tag_by_name (buffer, E_BUFFER_TAGGER_LINK_TAG, &start, &end;;
|
|
|
4b6d7b |
|
|
|
4b6d7b |
any = TRUE;
|
|
|
4b6d7b |
str += pmatch[0].rm_eo;
|
|
|
4b6d7b |
- offset += pmatch[0].rm_eo;
|
|
|
4b6d7b |
+ offset += char_eo;
|
|
|
4b6d7b |
break;
|
|
|
4b6d7b |
}
|
|
|
4b6d7b |
}
|