Index: src/ports/SkGlobalInitialization_default.cpp |
diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp |
index 902ec64642afa63218bdf84f5e947d11d8a46892..ed7dd2dfd536d29db19fd5d0b2b59420cd7b5459 100644 |
--- a/src/ports/SkGlobalInitialization_default.cpp |
+++ b/src/ports/SkGlobalInitialization_default.cpp |
@@ -62,7 +62,11 @@ |
#include "SkTileImageFilter.h" |
#include "SkXfermodeImageFilter.h" |
-void SkFlattenable::InitializeFlattenables() { |
+void SkFlattenable::InitializeFlattenablesIfNeeded() { |
+ static bool initialized = false; |
+ if (initialized) { |
+ return; |
+ } |
SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAnnotation) |
SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode) |
@@ -121,4 +125,7 @@ void SkFlattenable::InitializeFlattenables() { |
SkLumaMaskXfermode::InitializeFlattenables(); |
SkTableColorFilter::InitializeFlattenables(); |
SkXfermode::InitializeFlattenables(); |
+ |
+ initialized = true; |
} |
+ |