aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-13 18:33:27 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-13 18:33:27 +0000
commit7893aaeaba0da56454e05be72919093152004f83 (patch)
treeb4659c9888df3193960c1dd1cfb01650dcc12cdb
parent000e13ef161a87befdf0d6aa197a337031475d1a (diff)
Reverting 10063 due to Win7 crashes in RenderPDFs step
git-svn-id: http://skia.googlecode.com/svn/trunk@10064 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--src/pdf/SkPDFDevice.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index a8fc3990d8..db0825af3a 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -105,7 +105,18 @@ static void align_text(SkDrawCacheProc glyphCacheProc, const SkPaint& paint,
static size_t max_glyphid_for_typeface(SkTypeface* typeface) {
SkAutoResolveDefaultTypeface autoResolve(typeface);
typeface = autoResolve.get();
- return typeface->countGlyphs() - 1;
+
+ SkAdvancedTypefaceMetrics* metrics;
+ metrics = typeface->getAdvancedTypefaceMetrics(
+ SkAdvancedTypefaceMetrics::kNo_PerGlyphInfo,
+ NULL, 0);
+
+ int lastGlyphID = 0;
+ if (metrics) {
+ lastGlyphID = metrics->fLastGlyphID;
+ metrics->unref();
+ }
+ return lastGlyphID;
}
typedef SkAutoSTMalloc<128, uint16_t> SkGlyphStorage;