diff options
author | Patrick Dubroy <dubroy@google.com> | 2010-12-20 17:15:31 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-12-20 17:15:31 -0800 |
commit | 96abab264e4d96071dc169b4828e950c1ae59681 (patch) | |
tree | 5b05866f2a8e5224f720f5b0e934173c88f6ee11 /libs | |
parent | 4cfcca91ef717d54feefc7748cb9de15e1fd257c (diff) | |
parent | f890fab5a6715548e520a6f010a3bfe7607ce56e (diff) | |
download | frameworks_base-96abab264e4d96071dc169b4828e950c1ae59681.zip frameworks_base-96abab264e4d96071dc169b4828e950c1ae59681.tar.gz frameworks_base-96abab264e4d96071dc169b4828e950c1ae59681.tar.bz2 |
Merge "Ensure bitmaps aren't freed while referenced from a display list"
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/ResourceCache.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp index 1c93ea6..00de39b 100644 --- a/libs/hwui/ResourceCache.cpp +++ b/libs/hwui/ResourceCache.cpp @@ -60,9 +60,7 @@ void ResourceCache::incrementRefcount(void* resource, ResourceType resourceType) } void ResourceCache::incrementRefcount(SkBitmap* bitmapResource) { - SkPixelRef* pixref = bitmapResource->pixelRef(); - if (pixref) pixref->globalRef(); - + bitmapResource->pixelRef()->safeRef(); bitmapResource->getColorTable()->safeRef(); incrementRefcount((void*)bitmapResource, kBitmap); } @@ -91,9 +89,7 @@ void ResourceCache::decrementRefcount(void* resource) { } void ResourceCache::decrementRefcount(SkBitmap* bitmapResource) { - SkPixelRef* pixref = bitmapResource->pixelRef(); - if (pixref) pixref->globalUnref(); - + bitmapResource->pixelRef()->safeUnref(); bitmapResource->getColorTable()->safeUnref(); decrementRefcount((void*)bitmapResource); } |