diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-06-10 11:36:24 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-06-10 11:38:26 -0400 |
commit | 279bd5256b17ed68d50fbaaf7df60f189de33c96 (patch) | |
tree | 090904356e9751bda50b9d93577a4acb38ab8caa /pango/pango-context.c | |
parent | b6dc6e05d694bb5a0bd396b5847291ead3a431ea (diff) | |
download | pango-279bd5256b17ed68d50fbaaf7df60f189de33c96.tar.gz |
itemize: Work around gtk2 brokenness
GTK 2 apparently manages to call pango_itemize_with_base_dir
with a non-zero length for a string that contains 0 characters.
That in turn causes pango_log2vis_get_embedding_levels to
return NULL, and things go downhill from there.
A test is included.
Fixes: #480
Diffstat (limited to 'pango/pango-context.c')
-rw-r--r-- | pango/pango-context.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pango/pango-context.c b/pango/pango-context.c index 7772878f..bebe804a 100644 --- a/pango/pango-context.c +++ b/pango/pango-context.c @@ -1566,7 +1566,7 @@ pango_itemize_with_base_dir (PangoContext *context, g_return_val_if_fail (length >= 0, NULL); g_return_val_if_fail (length == 0 || text != NULL, NULL); - if (length == 0) + if (length == 0 || g_utf8_strlen (text, length) == 0) return NULL; itemize_state_init (&state, context, text, base_dir, start_index, length, |