summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/gadget/WidgetService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/gadget/WidgetService.java')
-rw-r--r--src/com/android/gallery3d/gadget/WidgetService.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/gadget/WidgetService.java b/src/com/android/gallery3d/gadget/WidgetService.java
index fc54fb6e8..854433776 100644
--- a/src/com/android/gallery3d/gadget/WidgetService.java
+++ b/src/com/android/gallery3d/gadget/WidgetService.java
@@ -80,7 +80,7 @@ public class WidgetService extends RemoteViewsService {
}
@Override
- public void onDestroy() {
+ public synchronized void onDestroy() {
mSource.close();
mSource = null;
}
@@ -115,7 +115,11 @@ public class WidgetService extends RemoteViewsService {
}
@Override
- public RemoteViews getViewAt(int position) {
+ public synchronized RemoteViews getViewAt(int position) {
+ if (mSource == null) {
+ // This instance has been destroyed, exit out
+ return null;
+ }
Bitmap bitmap = mSource.getImage(position);
if (bitmap == null) return getLoadingView();
RemoteViews views = new RemoteViews(