Преглед на файлове

Revert "Improving performance on CheckWindowSizeChange."

This reverts commit 8c500fcbb72e84cad0a13c04e16b0f1826f6e83b.
BDisp преди 1 година
родител
ревизия
3b5c1100c3
променени са 1 файла, в които са добавени 25 реда и са изтрити 25 реда
  1. 25 25
      Terminal.Gui/ConsoleDrivers/NetDriver.cs

+ 25 - 25
Terminal.Gui/ConsoleDrivers/NetDriver.cs

@@ -328,36 +328,14 @@ internal class NetEvents : IDisposable
         }
     }
 
-    private async Task CheckWindowSizeChange ()
+    private void CheckWindowSizeChange ()
     {
-        while (true)
-        {
-            if (_inputReadyCancellationTokenSource.IsCancellationRequested)
-            {
-                return;
-            }
-
-            try
-            {
-                _winChange.Wait (_inputReadyCancellationTokenSource.Token);
-                _winChange.Reset ();
-
-                await RequestWindowSize (_inputReadyCancellationTokenSource.Token);
-            }
-            catch (OperationCanceledException)
-            {
-                return;
-            }
-
-            _inputReady.Set ();
-        }
-
-        async Task RequestWindowSize (CancellationToken cancellationToken)
+        void RequestWindowSize (CancellationToken cancellationToken)
         {
             while (!cancellationToken.IsCancellationRequested)
             {
                 // Wait for a while then check if screen has changed sizes
-                await Task.Delay (500, cancellationToken);
+                Task.Delay (500, cancellationToken);
 
                 int buffHeight, buffWidth;
 
@@ -385,6 +363,28 @@ internal class NetEvents : IDisposable
 
             cancellationToken.ThrowIfCancellationRequested ();
         }
+
+        while (true)
+        {
+            if (_inputReadyCancellationTokenSource.IsCancellationRequested)
+            {
+                return;
+            }
+
+            try
+            {
+                _winChange.Wait (_inputReadyCancellationTokenSource.Token);
+                _winChange.Reset ();
+
+                RequestWindowSize (_inputReadyCancellationTokenSource.Token);
+            }
+            catch (OperationCanceledException)
+            {
+                return;
+            }
+
+            _inputReady.Set ();
+        }
     }
 
     /// <summary>Enqueue a window size event if the window size has changed.</summary>