Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.
This repository was archived by the owner on May 1, 2024. It is now read-only.

[Bug][TouchEffect] Resetting Application.MainPage leads to ArgumentNullException #1066

@Huaba93

Description

@Huaba93

Description

Resetting Application.MainPage leads to ArgumentNullException. I have also seen this with back navigation, but cannot reproduce it there on a regular basis.

Setting a new MainPage occurs frequently when using Prism. Absolute navigation sets a new MainPage.
For more infos about relative/absolute navigation see Prisms documentation.

System.ArgumentNullException: Value cannot be null.
Parameter name: bindable
  at Xamarin.CommunityToolkit.Effects.TouchEffect.GetCommandParameter (Xamarin.Forms.BindableObject bindable) [0x00003] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.Effects.TouchEffect.get_CommandParameter () [0x00006] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.Effects.TouchEffect.RaiseCompleted () [0x0000c] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.Effects.GestureManager.OnTapped (Xamarin.CommunityToolkit.Effects.TouchEffect sender) [0x0005e] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.Effects.GestureManager.HandleTouch (Xamarin.CommunityToolkit.Effects.TouchEffect sender, Xamarin.CommunityToolkit.Effects.TouchStatus status) [0x00105] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.Effects.TouchEffect.HandleTouch (Xamarin.CommunityToolkit.Effects.TouchStatus status) [0x00000] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.iOS.Effects.TouchUITapGestureRecognizer.HandleTouch (Xamarin.CommunityToolkit.Effects.TouchStatus status, System.Nullable`1[T] interactionStatus) [0x0009b] in <809c99546a8b4714a1709bd678b27282>:0 
  at Xamarin.CommunityToolkit.Helpers.SafeFireAndForgetExtensions.HandleSafeFireAndForget[TException] (System.Threading.Tasks.Task task, System.Boolean continueOnCapturedContext, System.Action`1[T] onException) [0x0006f] in <809c99546a8b4714a1709bd678b27282>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021 
  at Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSAction.cs:178 
--- End of stack trace from previous location where exception was thrown ---

  at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:86 
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:65 
  at TouchEffectNullReference.iOS.Application.Main (System.String[] args) [0x00001] in /Users/christophhuber/git/XamarinIssues/TouchEffectNullReference/TouchEffectNullReference/TouchEffectNullReference.iOS/Main.cs:16 

Steps to Reproduce

Set a new Application.MainPage on a Button tap (or press on "Absolute Navigation" in the attached sample)

Expected Behavior

TouchEffect should work regardless of what type of navigation is used.

Actual Behavior

App crashes on absolute navigation.

Basic Information

  • Version with issue: Tested all available versions (even prereleases)
  • Last known good version: -
  • Platform Target Frameworks:
    • iOS: 14
    • Android: 10
  • Affected Devices: Tested on some simulators, iPhone 12 iOS 14 and samsung galaxy 10 android 10

Reproduction Link

https://github.com/Huaba93/XamarinIssues/tree/master/TouchEffectNullReference

Metadata

Metadata

Labels

a/TouchEffectbugSomething isn't working. Breaky break.p/androidThis issue impacts Androidp/iOSiOS platform issue.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions