[libpinyin] update patch
Peng Wu
pwu at fedoraproject.org
Wed Jul 4 05:37:30 UTC 2012
commit 7cf0b7a5216e80f50558d071608a97cca2b4339d
Author: Peng Wu <alexepico at gmail.com>
Date: Wed Jul 4 13:29:11 2012 +0800
update patch
libpinyin-0.7.x-head.patch | 59 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 59 insertions(+), 0 deletions(-)
---
diff --git a/libpinyin-0.7.x-head.patch b/libpinyin-0.7.x-head.patch
index e69de29..c55f61a 100644
--- a/libpinyin-0.7.x-head.patch
+++ b/libpinyin-0.7.x-head.patch
@@ -0,0 +1,59 @@
+From f9f1575a983f184dd84b137d4b8d5ce3a35c063d Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Wed, 4 Jul 2012 13:21:42 +0800
+Subject: [PATCH] fixes _compute_phrase_strings_of_items
+
+---
+ src/pinyin.cpp | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/src/pinyin.cpp b/src/pinyin.cpp
+index 96c2d33..12a4b8d 100644
+--- a/src/pinyin.cpp
++++ b/src/pinyin.cpp
+@@ -918,6 +918,7 @@ static bool _prepend_sentence_candidate(pinyin_instance_t * instance,
+ }
+
+ static bool _compute_phrase_strings_of_items(pinyin_instance_t * instance,
++ size_t offset,
+ CandidateVector candidates) {
+ /* populate m_phrase_string in lookup_candidate_t. */
+
+@@ -926,9 +927,14 @@ static bool _compute_phrase_strings_of_items(pinyin_instance_t * instance,
+ (candidates, lookup_candidate_t, i);
+
+ switch(candidate->m_candidate_type) {
+- case BEST_MATCH_CANDIDATE:
+- pinyin_get_sentence(instance, &(candidate->m_phrase_string));
++ case BEST_MATCH_CANDIDATE: {
++ gchar * sentence = NULL;
++ pinyin_get_sentence(instance, &sentence);
++ candidate->m_phrase_string = g_strdup
++ (g_utf8_offset_to_pointer(sentence, offset));
++ g_free(sentence);
+ break;
++ }
+ case NORMAL_CANDIDATE:
+ case DIVIDED_CANDIDATE:
+ case RESPLIT_CANDIDATE:
+@@ -1133,7 +1139,7 @@ bool pinyin_get_candidates(pinyin_instance_t * instance,
+
+ _prepend_sentence_candidate(instance, candidates);
+
+- _compute_phrase_strings_of_items(instance, candidates);
++ _compute_phrase_strings_of_items(instance, offset, candidates);
+
+ _remove_duplicated_items_by_phrase_string(instance, candidates);
+
+@@ -1507,7 +1513,7 @@ bool pinyin_get_full_pinyin_candidates(pinyin_instance_t * instance,
+
+ _prepend_sentence_candidate(instance, candidates);
+
+- _compute_phrase_strings_of_items(instance, candidates);
++ _compute_phrase_strings_of_items(instance, offset, candidates);
+
+ _remove_duplicated_items_by_phrase_string(instance, candidates);
+
+--
+1.7.10.4
+
More information about the scm-commits
mailing list