From 7071786e0074bea42b01236f817383cab69c1b63 Mon Sep 17 00:00:00 2001 From: Tim Kilbourn Date: Fri, 28 Feb 2014 01:00:06 -0800 Subject: [PATCH] Clear child FragmentManagers when destroying Fragments. If Fragment has instantiated a child FragmentManager and is later detached, it retains its reference to the child FragmentManager which has been destroyed. This causes an IllegalStateException in the child FragmentManager if the original Fragment is reattached. Fixes Issue 42601. Change-Id: I8db2b1a110a341dc259939723f4c5ec131ca5f1e --- core/java/android/app/Fragment.java | 1 + core/java/android/app/FragmentManager.java | 1 + 2 files changed, 2 insertions(+) diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java index d626e5f54aeec..af8f1776599be 100644 --- a/core/java/android/app/Fragment.java +++ b/core/java/android/app/Fragment.java @@ -1402,6 +1402,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene mRestored = false; mBackStackNesting = 0; mFragmentManager = null; + mChildFragmentManager = null; mActivity = null; mFragmentId = 0; mContainerId = 0; diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index bf2a6292ce665..76f9d97455cf1 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -1026,6 +1026,7 @@ final class FragmentManagerImpl extends FragmentManager { f.mActivity = null; f.mParentFragment = null; f.mFragmentManager = null; + f.mChildFragmentManager = null; } } }