From 7956cb5d4858ea5a637851703c19575e8efda3d7 Mon Sep 17 00:00:00 2001 From: Tomas Hajny Date: Sat, 3 Dec 2016 23:41:03 +0000 Subject: [PATCH] * CrtCtrlBreakHandler may not be invoked for Ctrl-C on certain platforms (Win32/Win64) - made conditional (preparation for future use as platform independent include file) git-svn-id: trunk@35053 - --- packages/rtl-console/src/inc/crt.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/rtl-console/src/inc/crt.inc b/packages/rtl-console/src/inc/crt.inc index 967452a466..dcdb17576a 100644 --- a/packages/rtl-console/src/inc/crt.inc +++ b/packages/rtl-console/src/inc/crt.inc @@ -402,11 +402,17 @@ begin if CtrlBreak then CrtCtrlBreakHandler := not (CheckBreak) else (* Ctrl-C pressed *) +{$IFDEF FPC_CRT_CTRLC_TREATED_AS_KEY} + (* If Ctrl-C is really treated as a key, the following branch should never *) + (* be executed, but let's stay on the safe side and ensure predictability. *) + CrtCtrlBreakHandler := false; +{$ELSE FPC_CRT_CTRLC_TREATED_AS_KEY} begin if not (SpecialKey) and (ScanCode = 0) then ScanCode := 3; CrtCtrlBreakHandler := true; end; +{$ENDIF FPC_CRT_CTRLC_TREATED_AS_KEY} end;