Browse Source

Prevent infinite loop on OpenClipboard.

pull/5103/head
Steven Kirk 6 years ago
parent
commit
d438e0e954
  1. 4
      src/Windows/Avalonia.Win32/ClipboardImpl.cs

4
src/Windows/Avalonia.Win32/ClipboardImpl.cs

@ -17,8 +17,12 @@ namespace Avalonia.Win32
private async Task<IDisposable> OpenClipboard() private async Task<IDisposable> OpenClipboard()
{ {
var i = OleRetryCount;
while (!UnmanagedMethods.OpenClipboard(IntPtr.Zero)) while (!UnmanagedMethods.OpenClipboard(IntPtr.Zero))
{ {
if (--i == 0)
throw new TimeoutException("Timeout opening clipboard.");
await Task.Delay(100); await Task.Delay(100);
} }

Loading…
Cancel
Save