浏览代码

Bug fix: Script sometimes does not abort after receiving no answer for prompt, when running in batch mode.

See Bug 623

Source commit: 0b01777b9cd4a541cfbaafbc14b9d7ee080451e4
Martin Prikryl 2 年之前
父节点
当前提交
d487c586c2
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      source/console/Main.cpp

+ 4 - 2
source/console/Main.cpp

@@ -518,6 +518,10 @@ void CancelInput()
 void BreakInput()
 {
   FlushConsoleInputBuffer(ConsoleInput);
+
+  // Signal cancel first, otherwise the main thread can get Enter before the event is set
+  CancelInput();
+
   INPUT_RECORD InputRecord;
   memset(&InputRecord, 0, sizeof(InputRecord));
   InputRecord.EventType = KEY_EVENT;
@@ -527,8 +531,6 @@ void BreakInput()
 
   unsigned long Written;
   WriteConsoleInput(ConsoleInput, &InputRecord, 1, &Written);
-
-  CancelInput();
 }
 //---------------------------------------------------------------------------
 DWORD WINAPI InputTimerThreadProc(void* Parameter)