Add gesture disposed check to FrameRenderer (#829)
authorE.Z. Hart <hartez@users.noreply.github.com>
Wed, 22 Mar 2017 10:40:15 +0000 (04:40 -0600)
committerRui Marinho <me@ruimarinho.net>
Wed, 22 Mar 2017 10:42:01 +0000 (10:42 +0000)
Xamarin.Forms.Platform.Android/AppCompat/FrameRenderer.cs

index 1092f76..2b657b5 100644 (file)
@@ -82,6 +82,13 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
                                        ScaleGestureDetectorCompat.SetQuickScaleEnabled(_scaleDetector.Value, true);
                                handled = _scaleDetector.Value.OnTouchEvent(e);
                        }
+
+                       if (_gestureDetector.IsValueCreated && _gestureDetector.Value.Handle == IntPtr.Zero)
+                       {
+                               // This gesture detector has already been disposed, probably because it's on a cell which is going away
+                               return handled;
+                       }
+
                        return _gestureDetector.Value.OnTouchEvent(e) || handled;
                }