diff --git a/src/Avalonia.Base/Threading/DispatcherOperation.cs b/src/Avalonia.Base/Threading/DispatcherOperation.cs index b0d7e5a049..173ab81ef8 100644 --- a/src/Avalonia.Base/Threading/DispatcherOperation.cs +++ b/src/Avalonia.Base/Threading/DispatcherOperation.cs @@ -253,10 +253,9 @@ public class DispatcherOperation : DispatcherOperation { get { - if (TaskCompletionSource.Task.IsCompleted) + if (TaskCompletionSource.Task.IsCompleted || !Dispatcher.CheckAccess()) return TaskCompletionSource.Task.GetAwaiter().GetResult(); throw new InvalidOperationException("Synchronous wait is only supported on non-UI threads"); - } } } @@ -306,4 +305,4 @@ public enum DispatcherOperationStatus Aborted = 1, Completed = 2, Executing = 3, -} \ No newline at end of file +}