From 9993bfdbafdd48ec44b208cd6914643dbb46cdcb Mon Sep 17 00:00:00 2001 From: ichizok Date: Fri, 27 Apr 2018 17:35:33 +0900 Subject: [PATCH] Fix: Ctrl-C doesn't work during a wait for input [MMBackend waitForInput:] must be interrupted also by 'got_int' --- src/MacVim/MMBackend.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MacVim/MMBackend.m b/src/MacVim/MMBackend.m index e425765fbf..ca7f750701 100644 --- a/src/MacVim/MMBackend.m +++ b/src/MacVim/MMBackend.m @@ -682,7 +682,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font); // Only start the run loop if the input queue is empty, otherwise process // the input first so that the input on queue isn't delayed. - if ([inputQueue count] > 0 || input_available()) { + if ([inputQueue count] > 0 || input_available() || got_int) { inputReceived = YES; } else { // Wait for the specified amount of time, unless 'milliseconds' is @@ -711,7 +711,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font); // In order to ensure that all input (except for channel) on the // run-loop has been processed we set the timeout to 0 and keep // processing until the run-loop times out. - if ([inputQueue count] > 0 || input_available()) { + if ([inputQueue count] > 0 || input_available() || got_int) { dt = 0.0; inputReceived = YES; } else if (milliseconds >= 0) { @@ -723,7 +723,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font); } } - if ([inputQueue count] > 0 || input_available()) + if ([inputQueue count] > 0 || input_available() || got_int) inputReceived = YES; [timer invalidate];