Просмотр исходного кода

Merge topic 'stdio-ctrl-c' into release-4.2

c55dfbf656 StdIo: Restore compilation on 32-bit MinGW

Acked-by: Kitware Robot <[email protected]>
Merge-request: !11503
Brad King 1 месяц назад
Родитель
Сommit
1c3d9cdcdf
1 измененных файлов с 11 добавлено и 7 удалено
  1. 11 7
      Source/cmStdIoInit.cxx

+ 11 - 7
Source/cmStdIoInit.cxx

@@ -93,19 +93,23 @@ public:
 
   Globals();
 
+#ifdef _WIN32
+  static BOOL WINAPI CtrlHandler(DWORD /*dwCtrlType*/)
+  {
+    Get().StdErr.Destroy();
+    Get().StdOut.Destroy();
+    Get().StdIn.Destroy();
+    return FALSE;
+  }
+#endif
+
   static Globals& Get();
 };
 
 #ifdef _WIN32
 Globals::Globals()
 {
-  static auto const ctrlHandler = [](DWORD /*dwCtrlType*/) -> BOOL {
-    Get().StdErr.Destroy();
-    Get().StdOut.Destroy();
-    Get().StdIn.Destroy();
-    return FALSE;
-  };
-  SetConsoleCtrlHandler(ctrlHandler, TRUE);
+  SetConsoleCtrlHandler(CtrlHandler, TRUE);
 }
 #else
 Globals::Globals() = default;