Don't clear buffer pre-context if no new context is being provided

Patch from Jonathan Kew.

Part of fixing:

Mozilla Bug 801410 - avoid inserting dotted-circle for run-initial
Unicode combining characters in "simple" scripts such as Latin

https://bugzilla.mozilla.org/show_bug.cgi?id=801410
This commit is contained in:
Behdad Esfahbod 2012-10-31 13:45:30 -07:00
parent 0bc7a38463
commit da70111ab2

View File

@ -841,7 +841,14 @@ hb_buffer_add_utf (hb_buffer_t *buffer,
buffer->ensure (buffer->len + item_length * sizeof (T) / 4);
if (!buffer->len)
/* If buffer is empty and pre-context provided, install it.
* This check is written this way, to make sure people can
* provide pre-context in one add_utf() call, then provide
* text in a follow-up call. See:
*
* https://bugzilla.mozilla.org/show_bug.cgi?id=801410#c13
*/
if (!buffer->len && item_offset > 0)
{
/* Add pre-context */
buffer->clear_context (0);