summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Android/AppCompat
diff options
context:
space:
mode:
authorE.Z. Hart <hartez@users.noreply.github.com>2017-10-11 03:12:43 -0600
committerRui Marinho <me@ruimarinho.net>2017-10-11 23:44:27 +0100
commit56f674ac1d3ac580dfc13a85dfeef8d6d4069037 (patch)
treedfe5aebf01152f20a589b7834165dd5dc372dc6e /Xamarin.Forms.Platform.Android/AppCompat
parent52357e94466b6fcc4702ad3da04995c82be71393 (diff)
downloadxamarin-forms-56f674ac1d3ac580dfc13a85dfeef8d6d4069037.tar.gz
xamarin-forms-56f674ac1d3ac580dfc13a85dfeef8d6d4069037.tar.bz2
xamarin-forms-56f674ac1d3ac580dfc13a85dfeef8d6d4069037.zip
Checking IsDestroyed before using FragmentManager in Dispose() (#1194)
Diffstat (limited to 'Xamarin.Forms.Platform.Android/AppCompat')
-rw-r--r--Xamarin.Forms.Platform.Android/AppCompat/MasterDetailContainer.cs2
-rw-r--r--Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs7
2 files changed, 4 insertions, 5 deletions
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailContainer.cs b/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailContainer.cs
index faaf7462..8c7059d3 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailContainer.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailContainer.cs
@@ -138,7 +138,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
if (disposing)
{
- if (_currentFragment != null)
+ if (_currentFragment != null && !FragmentManager.IsDestroyed)
{
FragmentTransaction transaction = FragmentManager.BeginTransaction();
transaction.DisallowAddToBackStack();
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs
index 09c5c49b..e262c605 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs
@@ -120,14 +120,13 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
{
_disposed = true;
- var activity = (FormsAppCompatActivity)Context;
-
// API only exists on newer android YAY
if ((int)Build.VERSION.SdkInt >= 17)
{
- if (!activity.IsDestroyed)
+ FragmentManager fm = FragmentManager;
+
+ if (!fm.IsDestroyed)
{
- FragmentManager fm = FragmentManager;
FragmentTransaction trans = fm.BeginTransaction();
foreach (Fragment fragment in _fragmentStack)
trans.Remove(fragment);