From 5140cfaf471ed21c1cdcf0edcb53ae89b87c6848 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Fri, 15 Feb 2013 14:50:15 +0100 Subject: Fix rare NPE Bug: 8191673 --- src/com/android/launcher2/WidgetPreviewLoader.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/com/android/launcher2/WidgetPreviewLoader.java') diff --git a/src/com/android/launcher2/WidgetPreviewLoader.java b/src/com/android/launcher2/WidgetPreviewLoader.java index 7c72701f8..6c06e0fcc 100644 --- a/src/com/android/launcher2/WidgetPreviewLoader.java +++ b/src/com/android/launcher2/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(b)); + synchronized (mUnusedBitmaps) { + mUnusedBitmaps.add(new SoftReference(b)); + } } } else { throw new RuntimeException("Bitmap passed in doesn't match up"); -- cgit v1.2.3