Index: src/gpu/GrAtlasTextContext.cpp |
diff --git a/src/gpu/GrAtlasTextContext.cpp b/src/gpu/GrAtlasTextContext.cpp |
index 5f4f916adcd3e8941ab5783789557d2d69eee115..5fbe2e34805d705890570985ac876e76c4e400f5 100644 |
--- a/src/gpu/GrAtlasTextContext.cpp |
+++ b/src/gpu/GrAtlasTextContext.cpp |
@@ -660,12 +660,13 @@ inline void GrAtlasTextContext::fallbackDrawPosText(BitmapTextBlob* blob, |
SkASSERT(fallbackTxt.count()); |
blob->setHasBitmap(); |
Run& run = blob->fRuns[runIndex]; |
- PerSubRunInfo& subRun = run.fSubRunInfo.push_back(); |
- subRun.fOverrideDescriptor.reset(SkNEW(SkAutoDescriptor)); |
- skPaint.getScalerContextDescriptor(subRun.fOverrideDescriptor, |
+ // Push back a new subrun to fill and set the override descriptor |
+ run.push_back(); |
+ run.fOverrideDescriptor.reset(SkNEW(SkAutoDescriptor)); |
+ skPaint.getScalerContextDescriptor(run.fOverrideDescriptor, |
&fDeviceProperties, &viewMatrix, false); |
SkGlyphCache* cache = SkGlyphCache::DetachCache(run.fTypeface, |
- subRun.fOverrideDescriptor->getDesc()); |
+ run.fOverrideDescriptor->getDesc()); |
this->internalDrawBMPPosText(blob, runIndex, cache, skPaint, paint.getColor(), viewMatrix, |
fallbackTxt.begin(), fallbackTxt.count(), |
fallbackPos.begin(), scalarsPerPosition, offset, clipRect); |
@@ -1602,8 +1603,8 @@ public: |
// We can reuse if we have a valid strike and our descriptors / typeface are the |
// same |
- const SkDescriptor* newDesc = info.fOverrideDescriptor ? |
- info.fOverrideDescriptor->getDesc() : |
+ const SkDescriptor* newDesc = run.fOverrideDescriptor ? |
+ run.fOverrideDescriptor->getDesc() : |
run.fDescriptor.getDesc(); |
if (!cache || !SkTypeface::Equal(typeface, run.fTypeface) || |
!(desc->equals(*newDesc))) { |