[pango] Guard for an accumulated glyph count of zero in CoreText shape engine



commit 4ed7cd1a9e61f969bcdb616a5ba9a1290b7e43b4
Author: Kristian Rietveld <kris lanedo com>
Date:   Sun Mar 18 10:40:50 2012 +0100

    Guard for an accumulated glyph count of zero in CoreText shape engine

 modules/basic/basic-coretext.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/modules/basic/basic-coretext.c b/modules/basic/basic-coretext.c
index baacec6..edbef40 100644
--- a/modules/basic/basic-coretext.c
+++ b/modules/basic/basic-coretext.c
@@ -225,7 +225,15 @@ run_iterator_create (struct RunIterator *iter,
 
   iter->total_ct_i = 0;
   iter->glyph_count = run_iterator_get_glyph_count (iter);
-  run_iterator_set_current_run (iter, 0);
+
+  /* If CoreText did not render any glyphs for this string (can happen,
+   * e.g. a run solely consisting of a BOM), glyph_count will be zero and
+   * we immediately set the iterator variable to indicate end of glyph list.
+   */
+  if (iter->glyph_count > 0)
+    run_iterator_set_current_run (iter, 0);
+  else
+    iter->total_ct_i = -1;
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]