diff --git a/gfx/skia/skia/src/ports/SkFontHost_mac.cpp b/gfx/skia/skia/src/ports/SkFontHost_mac.cpp index 3901dbed216f..d2647b040c84 100644 --- a/gfx/skia/skia/src/ports/SkFontHost_mac.cpp +++ b/gfx/skia/skia/src/ports/SkFontHost_mac.cpp @@ -1280,7 +1280,9 @@ void SkScalerContext_Mac::generateMetrics(SkGlyph* glyph) { // it should be empty. So, if we see a zero-advance, we check if it has an // empty path or not, and if so, we jam the bounds to 0. Hopefully a zero-advance // is rare, so we won't incur a big performance cost for this extra check. - if (0 == cgAdvance.width && 0 == cgAdvance.height) { + // Avoid trying to create a path from a color font due to crashing on 10.9. + if (0 == cgAdvance.width && 0 == cgAdvance.height && + SkMask::kARGB32_Format != glyph->fMaskFormat) { SkUniqueCFRef path(CTFontCreatePathForGlyph(fCTFont.get(), cgGlyph,nullptr)); if (!path || CGPathIsEmpty(path.get())) { return;