Merge "Prevent crash when setting up a stencil-based clip Bug #8177690"

This commit is contained in:
Romain Guy
2013-02-12 18:46:29 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 3 deletions

View File

@@ -1179,6 +1179,10 @@ void OpenGLRenderer::clearLayerRegions() {
delete bounds;
}
// We must clear the list of dirty rects before we
// call setupDraw() to prevent stencil setup to do
// the same thing again
mLayers.clear();
setupDraw(false);
setupDrawColor(0.0f, 0.0f, 0.0f, 1.0f);
@@ -1195,9 +1199,8 @@ void OpenGLRenderer::clearLayerRegions() {
for (uint32_t i = 0; i < count; i++) {
delete mLayers.itemAt(i);
}
mLayers.clear();
}
mLayers.clear();
}
///////////////////////////////////////////////////////////////////////////////

View File

@@ -189,7 +189,10 @@ void Font::drawCachedGlyph(CachedGlyphInfo* glyph, float x, float hOffset, float
vOffset += glyph->mBitmapTop + height;
SkPoint destination[4];
measure.getPosTan(x + hOffset + glyph->mBitmapLeft + halfWidth, position, tangent);
bool ok = measure.getPosTan(x + hOffset + glyph->mBitmapLeft + halfWidth, position, tangent);
if (!ok) {
ALOGW("The path for drawTextOnPath is empty or null");
}
// Move along the tangent and offset by the normal
destination[0].set(-tangent->fX * halfWidth - tangent->fY * vOffset,