From eaf1e93ef1ee19a3e72d781e8abbd7f1165c1618 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 17 Dec 2015 16:57:47 +0000 Subject: [PATCH] [uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY On Windows 10 we are seeing that other error message... Test sequence: U+0995,U+-9CD,U+09B0 With Nirmala shipped on Windows 10, this failed to form the below form. Works now. Reported by Sairus. --- src/hb-uniscribe.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index 01be0cc84..86bb84f93 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc @@ -919,7 +919,7 @@ retry: if (unlikely (items[i].a.fNoGlyphIndex)) FAIL ("ScriptShapeOpenType() set fNoGlyphIndex"); - if (unlikely (hr == E_OUTOFMEMORY)) + if (unlikely (hr == E_OUTOFMEMORY || hr == E_NOT_SUFFICIENT_BUFFER)) { if (unlikely (!buffer->ensure (buffer->allocated * 2))) FAIL ("Buffer resize failed");