From debb2e25b3ce2f0f5195a2895dd1882fc172d4d8 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Mon, 9 Aug 2010 16:32:52 -0700 Subject: [PATCH] This may fix LoaderManager bug where a closed cursor could be used. Change-Id: I362d5f86dcbdbede921ef9d29c849ed6401850ea --- core/java/android/app/LoaderManager.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/java/android/app/LoaderManager.java b/core/java/android/app/LoaderManager.java index e7bdd8b2731e7..28abcaa7735f1 100644 --- a/core/java/android/app/LoaderManager.java +++ b/core/java/android/app/LoaderManager.java @@ -185,11 +185,14 @@ class LoaderManagerImpl implements LoaderManager { void stop() { if (DEBUG) Log.v(TAG, " Stopping: " + this); mStarted = false; - if (mLoader != null && mListenerRegistered) { - // Let the loader know we're done with it - mListenerRegistered = false; - mLoader.unregisterListener(this); - mLoader.stopLoading(); + if (!mRetaining) { + if (mLoader != null && mListenerRegistered) { + // Let the loader know we're done with it + mListenerRegistered = false; + mLoader.unregisterListener(this); + mLoader.stopLoading(); + } + mData = null; } }