diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/hangul/hangul-fc.c | 5 | ||||
-rw-r--r-- | modules/hangul/hangul-x.c | 5 | ||||
-rw-r--r-- | modules/hangul/hangul-xft.c | 5 |
3 files changed, 12 insertions, 3 deletions
diff --git a/modules/hangul/hangul-fc.c b/modules/hangul/hangul-fc.c index ab934832..9c693a77 100644 --- a/modules/hangul/hangul-fc.c +++ b/modules/hangul/hangul-fc.c @@ -170,7 +170,10 @@ hangul_engine_shape (PangoFont *font, { max_jamos++; if (jamos == jamos_static) - jamos = g_new (gunichar, max_jamos); + { + jamos = g_new (gunichar, max_jamos); + memcpy(jamos, jamos_static, n_jamos*sizeof(gunichar2)); + } else jamos = g_renew (gunichar, jamos, max_jamos); } diff --git a/modules/hangul/hangul-x.c b/modules/hangul/hangul-x.c index fc5806cd..799f3bc1 100644 --- a/modules/hangul/hangul-x.c +++ b/modules/hangul/hangul-x.c @@ -759,7 +759,10 @@ hangul_engine_shape (PangoFont *font, { max_jamos++; if (jamos == jamos_static) - jamos = g_new (gunichar2, max_jamos); + { + jamos = g_new (gunichar2, max_jamos); + memcpy(jamos, jamos_static, n_jamos*sizeof(gunichar2)); + } else jamos = g_renew (gunichar2, jamos, max_jamos); } diff --git a/modules/hangul/hangul-xft.c b/modules/hangul/hangul-xft.c index ab934832..9c693a77 100644 --- a/modules/hangul/hangul-xft.c +++ b/modules/hangul/hangul-xft.c @@ -170,7 +170,10 @@ hangul_engine_shape (PangoFont *font, { max_jamos++; if (jamos == jamos_static) - jamos = g_new (gunichar, max_jamos); + { + jamos = g_new (gunichar, max_jamos); + memcpy(jamos, jamos_static, n_jamos*sizeof(gunichar2)); + } else jamos = g_renew (gunichar, jamos, max_jamos); } |