diff options
-rw-r--r-- | dm/DM.cpp | 1 | ||||
-rw-r--r-- | tools/sk_tool_utils.h | 2 | ||||
-rw-r--r-- | tools/sk_tool_utils_font.cpp | 9 |
3 files changed, 4 insertions, 8 deletions
@@ -797,6 +797,7 @@ int dm_main() { } tg.wait(); // At this point we're back in single-threaded land. + sk_tool_utils::release_portable_typefaces(); SkDebugf("\n"); if (gFailures.count() > 0) { diff --git a/tools/sk_tool_utils.h b/tools/sk_tool_utils.h index 4d4a5b4fcd..6730a89447 100644 --- a/tools/sk_tool_utils.h +++ b/tools/sk_tool_utils.h @@ -36,6 +36,8 @@ namespace sk_tool_utils { SkTypeface::Style style = SkTypeface::kNormal); SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style style); SkTypeface* create_portable_typeface_always(const char* name, SkTypeface::Style style); + /** Call to clean up portable font references. */ + void release_portable_typefaces(); void report_used_chars(); /** diff --git a/tools/sk_tool_utils_font.cpp b/tools/sk_tool_utils_font.cpp index 5cb65b205c..925bd7dc76 100644 --- a/tools/sk_tool_utils_font.cpp +++ b/tools/sk_tool_utils_font.cpp @@ -20,17 +20,11 @@ namespace sk_tool_utils { #include "test_font_serif.cpp" #include "test_font_index.cpp" -static void release_portable_typefaces() { - // We'll clean this up in our own tests, but disable for clients. - // Chrome seems to have funky multi-process things going on in unit tests that - // makes this unsafe to delete when the main process atexit()s. - // SkLazyPtr does the same sort of thing. -#if SK_DEVELOPER +void release_portable_typefaces() { for (int index = 0; index < gTestFontsCount; ++index) { SkTestFontData& fontData = gTestFonts[index]; SkSafeUnref(fontData.fFontCache); } -#endif } SK_DECLARE_STATIC_MUTEX(gTestFontMutex); @@ -69,7 +63,6 @@ SkTypeface* create_font(const char* name, SkTypeface::Style style) { SkDEBUGCODE(font->fDebugName = sub->fName); SkDEBUGCODE(font->fDebugStyle = sub->fStyle); fontData->fFontCache = SkSafeRef(font); - atexit(release_portable_typefaces); } } return SkNEW_ARGS(SkTestTypeface, (font, SkFontStyle(style))); |