diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-09-11 21:03:30 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-09-11 21:03:30 +0000 |
commit | fca3a5693a7516bb4871576886609f9baf97ac74 (patch) | |
tree | d08ccd84df27b69378321fd241f4d3384e725f9d /pango/break.c | |
parent | b8fac1bfdd04bd0daa078c15e24116efca14f616 (diff) | |
download | pango-fca3a5693a7516bb4871576886609f9baf97ac74.tar.gz |
Bug 355435 – Invalid calls to pango_map_get_engine() Patch from
2006-09-11 Behdad Esfahbod <behdad@gnome.org>
Bug 355435 – Invalid calls to pango_map_get_engine()
Patch from Theppitak Karoonboonyanan
* pango/break.c (pango_get_log_attrs):
* pango/pango-renderer.c (add_underline):
* pango/pangofc-font.c (pango_fc_font_find_shaper):
* pango/pangowin32.c (pango_win32_font_find_shaper):
* pango/pangox.c (pango_x_font_find_shaper):
Pass a PangoScript to pango_map_get_engine, not a gunichar!
Diffstat (limited to 'pango/break.c')
-rw-r--r-- | pango/break.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/pango/break.c b/pango/break.c index b8a47ccd..7a23ac19 100644 --- a/pango/break.c +++ b/pango/break.c @@ -1624,6 +1624,7 @@ pango_get_log_attrs (const char *text, const char *end; PangoEngineLang* range_engine; const char *range_start; + PangoScript script; int chars_in_range; static guint engine_type_id = 0; static guint render_type_id = 0; @@ -1649,8 +1650,8 @@ pango_get_log_attrs (const char *text, lang_map = pango_find_map (language, engine_type_id, render_type_id); range_start = text; - range_engine = (PangoEngineLang*) pango_map_get_engine (lang_map, - g_utf8_get_char (text)); + script = pango_script_for_unichar (g_utf8_get_char (text)); + range_engine = (PangoEngineLang*) pango_map_get_engine (lang_map, script); analysis.lang_engine = range_engine; chars_broken = 0; chars_in_range = 1; @@ -1664,9 +1665,9 @@ pango_get_log_attrs (const char *text, g_assert (range_start <= end); g_assert (end - pos < length); + script = pango_script_for_unichar (g_utf8_get_char (pos)); analysis.lang_engine = - (PangoEngineLang*) pango_map_get_engine (lang_map, - g_utf8_get_char (pos)); + (PangoEngineLang*) pango_map_get_engine (lang_map, script); if (range_engine != analysis.lang_engine) { |