Browse Source

Allow sync wait for non-UI threads

pull/10691/head
Nikita Tsukanov 4 years ago
parent
commit
763c53c2c7
  1. 5
      src/Avalonia.Base/Threading/DispatcherOperation.cs

5
src/Avalonia.Base/Threading/DispatcherOperation.cs

@ -253,10 +253,9 @@ public class DispatcherOperation<T> : 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,
}
}

Loading…
Cancel
Save