| Index: src/lazy/SkBitmapFactory.cpp
|
| diff --git a/src/lazy/SkBitmapFactory.cpp b/src/lazy/SkBitmapFactory.cpp
|
| index d67e0197554a1188a02012801f55c0071c99c5ca..60c4993e3cf0230982065aa736c6a5cdf2fa964a 100644
|
| --- a/src/lazy/SkBitmapFactory.cpp
|
| +++ b/src/lazy/SkBitmapFactory.cpp
|
| @@ -22,17 +22,19 @@ SkBitmapFactory::SkBitmapFactory(SkBitmapFactory::DecodeProc proc)
|
|
|
| SkBitmapFactory::~SkBitmapFactory() {
|
| SkSafeUnref(fImageCache);
|
| + SkSafeUnref(fCacheSelector);
|
| }
|
|
|
| void SkBitmapFactory::setImageCache(SkImageCache *cache) {
|
| SkRefCnt_SafeAssign(fImageCache, cache);
|
| if (cache != NULL) {
|
| + SkSafeUnref(fCacheSelector);
|
| fCacheSelector = NULL;
|
| }
|
| }
|
|
|
| -void SkBitmapFactory::setCacheSelector(CacheSelector selector) {
|
| - fCacheSelector = selector;
|
| +void SkBitmapFactory::setCacheSelector(CacheSelector* selector) {
|
| + SkRefCnt_SafeAssign(fCacheSelector, selector);
|
| if (selector != NULL) {
|
| SkSafeUnref(fImageCache);
|
| fImageCache = NULL;
|
| @@ -63,7 +65,7 @@ bool SkBitmapFactory::installPixelRef(SkData* data, SkBitmap* dst) {
|
| // fImageCache and fCacheSelector are mutually exclusive.
|
| SkASSERT(NULL == fImageCache || NULL == fCacheSelector);
|
|
|
| - SkImageCache* cache = NULL == fCacheSelector ? fImageCache : fCacheSelector(info);
|
| + SkImageCache* cache = NULL == fCacheSelector ? fImageCache : fCacheSelector->selectCache(info);
|
|
|
| if (cache != NULL) {
|
| // Now set a new LazyPixelRef on dst.
|
|
|