diff options
author | Mike Reed <> | 2009-04-02 11:11:16 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-04-02 11:11:16 -0700 |
commit | da3b8b285a5e3e6f344461d67e3370b27701756d (patch) | |
tree | e0c45002b54fa93a80fe90200e006433e140ea3e /include/core | |
parent | 0e747d6d0a794242bd214fa44a6a179baeadfdf9 (diff) | |
download | external_skia-da3b8b285a5e3e6f344461d67e3370b27701756d.zip external_skia-da3b8b285a5e3e6f344461d67e3370b27701756d.tar.gz external_skia-da3b8b285a5e3e6f344461d67e3370b27701756d.tar.bz2 |
AI 144248: add unittests
add android-specific work around for double-initialization of globals
Automated import of CL 144248
Diffstat (limited to 'include/core')
-rw-r--r-- | include/core/SkTRegistry.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/core/SkTRegistry.h b/include/core/SkTRegistry.h index f0f427c..78c5a07 100644 --- a/include/core/SkTRegistry.h +++ b/include/core/SkTRegistry.h @@ -28,6 +28,18 @@ public: typedef T (*Factory)(P); SkTRegistry(Factory fact) { +#ifdef ANDROID + // work-around for double-initialization bug + { + SkTRegistry* reg = gHead; + while (reg) { + if (reg == this) { + return; + } + reg = reg->fChain; + } + } +#endif fFact = fact; fChain = gHead; gHead = this; |