Browse Source

Fixes CursesDriver stale buffer.

BDisp 9 months ago
parent
commit
67d497ce4e
1 changed files with 8 additions and 0 deletions
  1. 8 0
      Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs

+ 8 - 0
Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs

@@ -204,6 +204,14 @@ internal class CursesDriver : ConsoleDriver
             Console.Out.Write (EscSeqUtils.CSI_DisableMouseEvents);
             Console.Out.Write (EscSeqUtils.CSI_DisableMouseEvents);
 
 
             IsReportingMouseMoves = false;
             IsReportingMouseMoves = false;
+
+            Thread.Sleep (100); // Allow time for mouse stopping and to flush the input buffer
+
+            // Flush the input buffer to avoid reading stale input
+            while (Console.KeyAvailable)
+            {
+                Console.ReadKey (true);
+            }
         }
         }
     }
     }