Browse Source

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

c55dfbf656 StdIo: Restore compilation on 32-bit MinGW

Acked-by: Kitware Robot <[email protected]>
Merge-request: !11503
Brad King 1 tháng trước cách đây
mục cha
commit
03f2b2b9c9
1 tập tin đã thay đổi với 11 bổ sung7 xóa
  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;