浏览代码

Fixes #3518. v1 NetDriver throws System.InvalidOperationException when a key is pressed.

BDisp 1 年之前
父节点
当前提交
dee29b50b1
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      Terminal.Gui/ConsoleDrivers/NetDriver.cs

+ 9 - 1
Terminal.Gui/ConsoleDrivers/NetDriver.cs

@@ -177,7 +177,15 @@ namespace Terminal.Gui {
 			ConsoleKeyInfo newConsoleKeyInfo = default;
 
 			while (true) {
-				ConsoleKeyInfo consoleKeyInfo = Console.ReadKey (true);
+				ConsoleKeyInfo consoleKeyInfo;
+
+				try {
+					consoleKeyInfo = Console.ReadKey (true);
+				} catch (InvalidOperationException ex) {
+
+					return;
+				}
+
 				if ((consoleKeyInfo.KeyChar == (char)Key.Esc && !isEscSeq)
 					|| (consoleKeyInfo.KeyChar != (char)Key.Esc && isEscSeq)) {
 					if (cki == null && consoleKeyInfo.KeyChar != (char)Key.Esc && isEscSeq) {