[vlc-commits] [Git][videolan/vlc][master] contrib: freetype2: replace the UWP patch to fix bogus CreateFileA call
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Sat Feb 19 13:16:40 UTC 2022
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
54088315 by Steve Lhomme at 2022-02-19T12:26:52+00:00
contrib: freetype2: replace the UWP patch to fix bogus CreateFileA call
Patch merged upstream
- - - - -
4 changed files:
- + contrib/src/freetype2/0001-builds-windows-Add-support-for-legacy-UWP-builds.patch
- + contrib/src/freetype2/0001-builds-windows-Guard-some-non-ancient-API.patch
- contrib/src/freetype2/rules.mak
- − contrib/src/freetype2/uwpfixes.patch
Changes:
=====================================
contrib/src/freetype2/0001-builds-windows-Add-support-for-legacy-UWP-builds.patch
=====================================
@@ -0,0 +1,49 @@
+From 20ec99be7ecfd1a07e1ff7a7ef3e510203ea33bd Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 17 Feb 2022 13:35:52 -0500
+Subject: [PATCH] [builds/windows] Add support for legacy UWP builds.
+
+* builds/windows/ftsystem.c: Add neccessary macro substitutions to
+enable strict UWP builds.
+
+See !141.
+
+Co-authored-by: Alexei Podtelezhnikov <apodtele at gmail.com>
+---
+ builds/windows/ftsystem.c | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
+index 1c49f30db..d4fc95675 100644
+--- a/builds/windows/ftsystem.c
++++ b/builds/windows/ftsystem.c
+@@ -196,7 +196,25 @@
+ }
+
+
+-#ifdef _WIN32_WCE
++#if defined( NTDDI_VERSION ) && NTDDI_VERSION < 0x0A000007 && \
++ defined( WINAPI_FAMILY_PARTITION ) && \
++ !WINAPI_FAMILY_PARTITION( WINAPI_PARTITION_DESKTOP )
++
++#define PACK_DWORD64( hi, lo ) ( ( (DWORD64)(hi) << 32 ) | (DWORD)(lo) )
++
++#define CreateFileW( a, b, c, d, e, f, g ) \
++ CreateFileFromAppW( a, b, c, d, e, f, g )
++#define CreateFileMapping( a, b, c, d, e, f ) \
++ CreateFileMappingFromApp( a, b, c, PACK_DWORD64( d, e ), f )
++#define MapViewOfFile( a, b, c, d, e ) \
++ MapViewOfFileFromApp( a, b, PACK_DWORD64( c, d ), e )
++
++#define UWP_LEGACY
++
++#endif
++
++
++#if defined( _WIN32_WCE ) || defined( UWP_LEGACY )
+
+ FT_LOCAL_DEF( HANDLE )
+ CreateFileA( LPCSTR lpFileName,
+--
+2.27.0.windows.1
+
=====================================
contrib/src/freetype2/0001-builds-windows-Guard-some-non-ancient-API.patch
=====================================
@@ -0,0 +1,79 @@
+From 1f951898751365e9bd2a920ce76652f2a59c3305 Mon Sep 17 00:00:00 2001
+From: Cameron Cawley <ccawley2011 at gmail.com>
+Date: Mon, 6 Dec 2021 23:08:46 -0500
+Subject: [PATCH] [builds/windows] Guard some non-ancient API.
+
+We can support Windows 98 and NT 4.0 in principle...
+
+* builds/windows/ftdebug.c, builds/windows/ftsystem.c: Check for the
+ancient SDK using _WIN32_WINDOWS, _WIN32_WCE, or _WIN32_WINNT.
+---
+ builds/windows/ftdebug.c | 6 ++++++
+ builds/windows/ftsystem.c | 6 +++++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/builds/windows/ftdebug.c b/builds/windows/ftdebug.c
+index 94c22da75..ff5d4b481 100644
+--- a/builds/windows/ftdebug.c
++++ b/builds/windows/ftdebug.c
+@@ -136,6 +136,8 @@
+
+ va_start( ap, fmt );
+ vfprintf( stderr, fmt, ap );
++#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \
++ ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 )
+ if ( IsDebuggerPresent() )
+ {
+ static char buf[1024];
+@@ -144,6 +146,7 @@
+ vsnprintf( buf, sizeof buf, fmt, ap );
+ OutputDebugStringA( buf );
+ }
++#endif
+ va_end( ap );
+ }
+
+@@ -159,6 +162,8 @@
+
+ va_start( ap, fmt );
+ vfprintf( stderr, fmt, ap );
++#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \
++ ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 )
+ if ( IsDebuggerPresent() )
+ {
+ static char buf[1024];
+@@ -167,6 +172,7 @@
+ vsnprintf( buf, sizeof buf, fmt, ap );
+ OutputDebugStringA( buf );
+ }
++#endif
+ va_end( ap );
+
+ exit( EXIT_FAILURE );
+diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
+index 1ebadd49f..0433d6151 100644
+--- a/builds/windows/ftsystem.c
++++ b/builds/windows/ftsystem.c
+@@ -233,6 +233,10 @@
+ dwFlagsAndAttributes, hTemplateFile );
+ }
+
++#endif
++
++#if defined( _WIN32_WCE ) || defined ( _WIN32_WINDOWS ) || \
++ !defined( _WIN32_WINNT ) || _WIN32_WINNT <= 0x0400
+
+ FT_LOCAL_DEF( BOOL )
+ GetFileSizeEx( HANDLE hFile,
+@@ -248,7 +252,7 @@
+ return TRUE;
+ }
+
+-#endif /* _WIN32_WCE */
++#endif
+
+
+ /* documentation is in ftobjs.h */
+--
+2.27.0.windows.1
+
=====================================
contrib/src/freetype2/rules.mak
=====================================
@@ -15,7 +15,8 @@ $(TARBALLS)/freetype-$(FREETYPE2_VERSION).tar.xz:
freetype: freetype-$(FREETYPE2_VERSION).tar.xz .sum-freetype2
$(UNPACK)
- $(APPLY) $(SRC)/freetype2/uwpfixes.patch
+ $(APPLY) $(SRC)/freetype2/0001-builds-windows-Guard-some-non-ancient-API.patch
+ $(APPLY) $(SRC)/freetype2/0001-builds-windows-Add-support-for-legacy-UWP-builds.patch
$(call pkg_static, "builds/unix/freetype2.in")
$(MOVE)
=====================================
contrib/src/freetype2/uwpfixes.patch deleted
=====================================
@@ -1,38 +0,0 @@
-diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
-index 1ebadd49f..ac8ff1f92 100644
---- a/builds/windows/ftsystem.c
-+++ b/builds/windows/ftsystem.c
-@@ -28,6 +28,7 @@
- /* memory mapping and allocation includes and definitions */
- #define WIN32_LEAN_AND_MEAN
- #include <windows.h>
-+#include <winapifamily.h>
-
-
- /**************************************************************************
-@@ -296,7 +297,11 @@
- goto Fail_Open;
- }
-
-+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
- fm = CreateFileMapping( file, NULL, PAGE_READONLY, 0, 0, NULL );
-+#else
-+ fm = CreateFileMappingFromApp( file, NULL, PAGE_READONLY, 0, NULL );
-+#endif
- if ( fm == NULL )
- {
- FT_ERROR(( "FT_Stream_Open: can not map file\n" ));
-@@ -308,8 +313,13 @@
- /* a size greater than LONG_MAX */
- stream->size = size.LowPart;
- stream->pos = 0;
-+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
- stream->base = (unsigned char *)
- MapViewOfFile( fm, FILE_MAP_READ, 0, 0, 0 );
-+#else
-+ stream->base = (unsigned char *)
-+ MapViewOfFileFromApp( fm, FILE_MAP_READ, 0, 0 );
-+#endif
-
- CloseHandle( fm );
-
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/54088315e19f6274580bc82734f3037ebd29e6ce
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/54088315e19f6274580bc82734f3037ebd29e6ce
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list