From 76ed7a09cdc2d6df2bc9ece9497dae5b72f1ca3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:46:16 +0800 Subject: [PATCH] Avoid async void in SKXamlCanvas. (#2720) (#2731) The async void will terminate here. And we can ignore the Dispatcher.RunAsync result and we can receive the exception from TaskScheduler.UnobservedTaskException. See https://github.com/dotnet/runtime/issues/76367 (cherry picked from commit 08c711cad661bd8fb6d926b6597a9ab28651dc74) Co-authored-by: lindexi --- .../SkiaSharp.Views.Uno/SkiaSharp.Views.Uno/SKXamlCanvas.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/SkiaSharp.Views.Uno/SkiaSharp.Views.Uno/SKXamlCanvas.cs b/source/SkiaSharp.Views.Uno/SkiaSharp.Views.Uno/SKXamlCanvas.cs index 2697be3009..9fb3626263 100644 --- a/source/SkiaSharp.Views.Uno/SkiaSharp.Views.Uno/SKXamlCanvas.cs +++ b/source/SkiaSharp.Views.Uno/SkiaSharp.Views.Uno/SKXamlCanvas.cs @@ -125,12 +125,12 @@ private void OnUnloaded(object sender, RoutedEventArgs e) display.DpiChanged -= OnDpiChanged; } - public new async void Invalidate() + public new void Invalidate() { if (Dispatcher.HasThreadAccess) DoInvalidate(); else - await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, DoInvalidate); + _ = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, DoInvalidate); } partial void DoLoaded();