aports/community/ftgl/gcc14.patch
mio 076ab0fa1a community/ftgl: fix build with gcc 14
Fix type conversion error with gcc 14 and freetype.

```
FTVectoriser.cpp: In member function 'void FTVectoriser::ProcessContours()':
FTVectoriser.cpp:171:25: error: invalid conversion from 'unsigned char*'
to 'char*' [-fpermissive]
  171 |         char* tagList = &outline.tags[startIndex];
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         unsigned char*
```
2024-10-25 03:32:04 +00:00

54 lines
1.9 KiB
Diff

Source: https://github.com/frankheckenbach/ftgl/pull/20.patch
Upstream issue: https://github.com/frankheckenbach/ftgl/issues/22
--
From d546aefd73dcbb0d0d1e0f3c916770d7f9f98169 Mon Sep 17 00:00:00 2001
From: Joseph C Wang <joequant@gmail.com>
Date: Tue, 8 Oct 2024 19:47:53 +0800
Subject: [PATCH] fix type error
---
src/FTContour.cpp | 2 +-
src/FTContour.h | 2 +-
src/FTVectoriser.cpp | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/FTContour.cpp b/src/FTContour.cpp
index c668d32..ef13576 100644
--- a/src/FTContour.cpp
+++ b/src/FTContour.cpp
@@ -174,7 +174,7 @@ void FTContour::SetParity(int parity)
}
-FTContour::FTContour(FT_Vector* contour, char* tags, unsigned int n)
+FTContour::FTContour(FT_Vector* contour, unsigned char* tags, unsigned int n)
{
FTPoint prev, cur(contour[(n - 1) % n]), next(contour[0]);
double olddir, dir = atan2((next - cur).Y(), (next - cur).X());
diff --git a/src/FTContour.h b/src/FTContour.h
index d2d187c..dc64e3a 100644
--- a/src/FTContour.h
+++ b/src/FTContour.h
@@ -52,7 +52,7 @@ class FTContour
* @param pointTags
* @param numberOfPoints
*/
- FTContour(FT_Vector* contour, char* pointTags, unsigned int numberOfPoints);
+ FTContour(FT_Vector* contour, unsigned char* pointTags, unsigned int numberOfPoints);
/**
* Destructor
diff --git a/src/FTVectoriser.cpp b/src/FTVectoriser.cpp
index 26e7da8..53d738e 100644
--- a/src/FTVectoriser.cpp
+++ b/src/FTVectoriser.cpp
@@ -168,7 +168,7 @@ void FTVectoriser::ProcessContours()
for(int i = 0; i < ftContourCount; ++i)
{
FT_Vector* pointList = &outline.points[startIndex];
- char* tagList = &outline.tags[startIndex];
+ unsigned char* tagList = &outline.tags[startIndex];
endIndex = outline.contours[i];
contourLength = (endIndex - startIndex) + 1;