summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-04-13 08:18:33 +0300
committerEli Zaretskii <eliz@gnu.org>2023-04-13 08:18:33 +0300
commit864a4dc236395e441aafd23b9cbca099afdc5324 (patch)
treec17dc74270059c0a07699955655054043385ed22 /src
parenta22eb9ae0f9bfb745d05ea5b069b59592f19f1eb (diff)
downloademacs-864a4dc236395e441aafd23b9cbca099afdc5324.tar.gz
Fix compilation of w32.c with old MinGW system headers
* src/w32.c (CONSOLE_FONT_INFO): Make sure the definition is not visible for MinGW versions whose w32api's version is before 5.2.0. (Bug#52792)
Diffstat (limited to 'src')
-rw-r--r--src/w32.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/w32.c b/src/w32.c
index 8d344d2e6da..a6bc0f4b2ee 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -543,7 +543,14 @@ typedef LANGID (WINAPI *GetUserDefaultUILanguage_Proc) (void);
typedef COORD (WINAPI *GetConsoleFontSize_Proc) (HANDLE, DWORD);
-#if _WIN32_WINNT < 0x0501
+/* Old versions of mingw.org's MinGW, before v5.2.0, don't have a
+ _WIN32_WINNT guard for CONSOLE_FONT_INFO in wincon.h, and so don't
+ need the conditional definition below, which causes compilation
+ errors. Note: MinGW64 sets _WIN32_WINNT to a higher version, and
+ its w32api.h version stays fixed at 3.14. */
+#if _WIN32_WINNT < 0x0501 \
+ && (__W32API_MAJOR_VERSION > 5 \
+ || (__W32API_MAJOR_VERSION == 5 && __W32API_MINOR_VERSION >= 2))
typedef struct
{
DWORD nFont;