diff options
author | Michael Jurka <mikejurka@google.com> | 2013-02-15 14:50:15 +0100 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2013-08-17 02:35:26 -0700 |
commit | 042236a2a5317715967bddc86ee2a512b452b230 (patch) | |
tree | 428869664500933318c3d68d535b48a0011ae0c2 /src/com | |
parent | 1064ed079bd9111531e5616bfd59a3ddf96d8ed0 (diff) | |
download | android_packages_apps_Trebuchet-042236a2a5317715967bddc86ee2a512b452b230.tar.gz android_packages_apps_Trebuchet-042236a2a5317715967bddc86ee2a512b452b230.tar.bz2 android_packages_apps_Trebuchet-042236a2a5317715967bddc86ee2a512b452b230.zip |
Fix rare NPE
Bug: 8191673
Change-Id: I72ce7e78807c011858238f96c02a9500f930fb01
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/cyanogenmod/trebuchet/WidgetPreviewLoader.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/com/cyanogenmod/trebuchet/WidgetPreviewLoader.java b/src/com/cyanogenmod/trebuchet/WidgetPreviewLoader.java index bf126d195..62049d489 100644 --- a/src/com/cyanogenmod/trebuchet/WidgetPreviewLoader.java +++ b/src/com/cyanogenmod/trebuchet/WidgetPreviewLoader.java @@ -236,13 +236,15 @@ public class WidgetPreviewLoader { public void recycleBitmap(Object o, Bitmap bitmapToRecycle) { String name = getObjectName(o); - synchronized(mLoadedPreviews) { - synchronized(mUnusedBitmaps) { + synchronized (mLoadedPreviews) { + if (mLoadedPreviews.containsKey(name)) { Bitmap b = mLoadedPreviews.get(name).get(); if (b == bitmapToRecycle) { mLoadedPreviews.remove(name); if (bitmapToRecycle.isMutable()) { - mUnusedBitmaps.add(new SoftReference<Bitmap>(b)); + synchronized (mUnusedBitmaps) { + mUnusedBitmaps.add(new SoftReference<Bitmap>(b)); + } } } else { throw new RuntimeException("Bitmap passed in doesn't match up"); |