diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-08-09 16:32:52 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2010-08-09 16:32:52 -0700 |
commit | debb2e25b3ce2f0f5195a2895dd1882fc172d4d8 (patch) | |
tree | 7e3a6034a0c4ac8dead6c0a445dc5c58cf2e5bf8 /core | |
parent | 02890fd0f98b3b8d98baf0bda1ea906afd723d8b (diff) | |
download | frameworks_base-debb2e25b3ce2f0f5195a2895dd1882fc172d4d8.zip frameworks_base-debb2e25b3ce2f0f5195a2895dd1882fc172d4d8.tar.gz frameworks_base-debb2e25b3ce2f0f5195a2895dd1882fc172d4d8.tar.bz2 |
This may fix LoaderManager bug where a closed cursor could be used.
Change-Id: I362d5f86dcbdbede921ef9d29c849ed6401850ea
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/app/LoaderManager.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/core/java/android/app/LoaderManager.java b/core/java/android/app/LoaderManager.java index e7bdd8b..28abcaa 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; } } |