diff options
Diffstat (limited to 'modules/hangul/hangul-x.c')
-rw-r--r-- | modules/hangul/hangul-x.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/modules/hangul/hangul-x.c b/modules/hangul/hangul-x.c index b16ee1ac..070547b2 100644 --- a/modules/hangul/hangul-x.c +++ b/modules/hangul/hangul-x.c @@ -757,13 +757,14 @@ hangul_engine_shape (PangoFont *font, } if (n_jamos == jamos_max) { - gunichar2 *new_jamos; - jamos_max++; - new_jamos = g_new (gunichar2, jamos_max); - memcpy (new_jamos, jamos, n_jamos * sizeof (gunichar2)); - - jamos = new_jamos; + if (jamos == jamos_static) + { + jamos = g_new(gunichar2, jamos_max); + memcpy (jamos, jamos_static, n_jamos*sizeof(gunichar2)); + } + else + jamos = g_renew(gunichar2, jamos, jamos_max); } jamos[n_jamos++] = wc; } |