Compare commits

...

1 Commits

Author SHA1 Message Date
Martchus 4fa4a958ac Add back patch for crashes in rasterization code
The setjmp-based code still breaks on i686.
2024-04-05 01:49:08 +02:00
26 changed files with 355 additions and 92 deletions

View File

@ -16,7 +16,7 @@
pkgname=<%= $package_name %>
_qtver=6.7.0
pkgver=${_qtver/-/}
pkgrel=1
pkgrel=2
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)

View File

@ -0,0 +1 @@
../mingw-w64/0018-Fix-crashes-in-rasterization-code-using-setjmp.patch

View File

@ -44,25 +44,27 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/subm
'0014-Fix-setting-exception-flags-of-plugin-targets.patch'
'0015-Link-corelib-correctly-against-runtimeobject-when-co.patch'
'0016-Workaround-linker-error-about-missing-symbol-__sync_.patch'
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch')
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch'
'0018-Fix-crashes-in-rasterization-code-using-setjmp.patch')
sha256sums=('11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254'
'e25f83ddf9e3f9eefcb833751cff8957f32cb2f13f5a1f033679b45d2c9e544e'
'ae4a20f41df34eefc960ed5cb2cf54afb421573f08545d5492882edd18e00a3c'
'5d329d722365c07a28b85a9d1ba9c6c53ad19124662aa1825cdd78ece82c47f3'
'86dd06b2a1bd7b050763346d2bd16a63c914c516782df64a3c6c78268ea33e06'
'4390d712d64d50e2cd8d0cea3a53317cda4e7a21bd99a346f1bd82d18514b6f5'
'73c2780b8efe19f32ea433d2254e0ceeb503f77004812048e3fcef5da363fd31'
'272db976e1a219063d87b8ef21537fbe8959c87acbb34de4cbe5b995bc2eb46a'
'43c5a589616a200ded1a2c81b2d4c09919dc96b7ed0df50dea97148f373db147'
'1fbc2aecb48912ef1f4563f5eb4a1d3f5fad0767052a763cebe72d631cdf1e77'
'e7f591f23724529b6f45182352f0a4274d4c09f0a2686d7f6588857c3d81df08'
'313ae6611f91ce7c12366035f0271a1bd1fa787f68a652de95f2fd55a71b4e1f'
'7de102a3e66bf6aafeb3c0cd0ae49b344e166b902d4d29fd33366883b11f1d5d'
'5e9b7c818bd972c694075a0a01d0f44a9d6d6aaf9e3b36174702b8839f30b76b'
'b707bf9d69cf866dd776e5c07235161186747607dc24264320784e1222272fcc'
'04811ea7c29e15a9d5c63c6f483804ec2538e8e826c3c06019b78a98435b56b2'
'ce7dc86c30f160e6d565c579a84e0b0f799b1afa751ebe0748a0e80f8408cb7f'
'55959f673e409ea952661cbddfb8b046bec7cda3d8b05686bed82ace4246e273')
'2bcfcdfe0fabdb7e7600eb6e1b85d9cda8f86af558a8c09658bc1867cc273ca0'
'a053880e1bd15d1eb4ee8fb27a2f1345af88235fb7cf1515461c3525f0be4daf'
'779093bfe4fafebf278d39de4f4f3f9b7dc6dd6871c3e86de7af51639290fe69'
'4e694cc40009b1a0cb62aa03b6d3d2b692ddca156e776c52f9babdc6e0cb2c32'
'3953be3b3cb029f47994779824c7b7875aa7b5c1c21156dbf76bccce68244d28'
'b359923aae5cddb7f52d9fc803ed2945a5644d0ae637728a401899ccc09c73af'
'ed14103ac853bd72e203ce93c13586dc40bb4d1194e390e5cc631afa29eb920f'
'76d49fe063b197b68f9a5c3e09047e4aad581639682c985762341d16e08c95bb'
'cbd5f1777ecb380fe6444eb3eb04b8abdc5988c3f97ae1f58da422d214448bd1'
'40e287b41d3e09b7fa09804ce1feca87eea1b0a4d662cfb5d7e938c6a43bf155'
'818f0a500a37ff2b5a1fe0502ce2321468482423714f4ca4d9ee02a1c8a85120'
'7de9a5e4adf4afa4d4a4ba6a90c58df810748d97631e8ee2d7051cb64d312069'
'a29667637bbd0949200d6dbb18f8b9b75e55164c6e8dd049296f7dcbe4910a21'
'167921dd76e072857413538fbdbd56b4fab19cb53c739a70fe8aa613ca8c5651'
'9177a5c59465953777faca9f0651106f0b6e98e6f825e276f81f2dd9e4ce5426'
'b5eeae582ddba1b96c600f1cb2b73083cf8ae619af7ade2b45dfc17214497b5e'
'80b2cc652b087ac950a398b554842ce66d1b0703d890d52bfffb2af0ea6ab1a7'
'bfca3b0894ce1b6764217905835db50b9251ad19084c7f89967f37bfb1366cf4')
prepare () {
cd $_pkgfqn

View File

@ -0,0 +1 @@
../mingw-w64/0018-Fix-crashes-in-rasterization-code-using-setjmp.patch

View File

@ -13,7 +13,7 @@
pkgname=mingw-w64-qt6-base-static
_qtver=6.7.0
pkgver=${_qtver/-/}
pkgrel=1
pkgrel=2
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
@ -47,25 +47,27 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/subm
'0014-Fix-setting-exception-flags-of-plugin-targets.patch'
'0015-Link-corelib-correctly-against-runtimeobject-when-co.patch'
'0016-Workaround-linker-error-about-missing-symbol-__sync_.patch'
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch')
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch'
'0018-Fix-crashes-in-rasterization-code-using-setjmp.patch')
sha256sums=('11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254'
'e25f83ddf9e3f9eefcb833751cff8957f32cb2f13f5a1f033679b45d2c9e544e'
'ae4a20f41df34eefc960ed5cb2cf54afb421573f08545d5492882edd18e00a3c'
'5d329d722365c07a28b85a9d1ba9c6c53ad19124662aa1825cdd78ece82c47f3'
'86dd06b2a1bd7b050763346d2bd16a63c914c516782df64a3c6c78268ea33e06'
'4390d712d64d50e2cd8d0cea3a53317cda4e7a21bd99a346f1bd82d18514b6f5'
'73c2780b8efe19f32ea433d2254e0ceeb503f77004812048e3fcef5da363fd31'
'272db976e1a219063d87b8ef21537fbe8959c87acbb34de4cbe5b995bc2eb46a'
'43c5a589616a200ded1a2c81b2d4c09919dc96b7ed0df50dea97148f373db147'
'1fbc2aecb48912ef1f4563f5eb4a1d3f5fad0767052a763cebe72d631cdf1e77'
'e7f591f23724529b6f45182352f0a4274d4c09f0a2686d7f6588857c3d81df08'
'313ae6611f91ce7c12366035f0271a1bd1fa787f68a652de95f2fd55a71b4e1f'
'7de102a3e66bf6aafeb3c0cd0ae49b344e166b902d4d29fd33366883b11f1d5d'
'5e9b7c818bd972c694075a0a01d0f44a9d6d6aaf9e3b36174702b8839f30b76b'
'b707bf9d69cf866dd776e5c07235161186747607dc24264320784e1222272fcc'
'04811ea7c29e15a9d5c63c6f483804ec2538e8e826c3c06019b78a98435b56b2'
'ce7dc86c30f160e6d565c579a84e0b0f799b1afa751ebe0748a0e80f8408cb7f'
'55959f673e409ea952661cbddfb8b046bec7cda3d8b05686bed82ace4246e273')
'2bcfcdfe0fabdb7e7600eb6e1b85d9cda8f86af558a8c09658bc1867cc273ca0'
'a053880e1bd15d1eb4ee8fb27a2f1345af88235fb7cf1515461c3525f0be4daf'
'779093bfe4fafebf278d39de4f4f3f9b7dc6dd6871c3e86de7af51639290fe69'
'4e694cc40009b1a0cb62aa03b6d3d2b692ddca156e776c52f9babdc6e0cb2c32'
'3953be3b3cb029f47994779824c7b7875aa7b5c1c21156dbf76bccce68244d28'
'b359923aae5cddb7f52d9fc803ed2945a5644d0ae637728a401899ccc09c73af'
'ed14103ac853bd72e203ce93c13586dc40bb4d1194e390e5cc631afa29eb920f'
'76d49fe063b197b68f9a5c3e09047e4aad581639682c985762341d16e08c95bb'
'cbd5f1777ecb380fe6444eb3eb04b8abdc5988c3f97ae1f58da422d214448bd1'
'40e287b41d3e09b7fa09804ce1feca87eea1b0a4d662cfb5d7e938c6a43bf155'
'818f0a500a37ff2b5a1fe0502ce2321468482423714f4ca4d9ee02a1c8a85120'
'7de9a5e4adf4afa4d4a4ba6a90c58df810748d97631e8ee2d7051cb64d312069'
'a29667637bbd0949200d6dbb18f8b9b75e55164c6e8dd049296f7dcbe4910a21'
'167921dd76e072857413538fbdbd56b4fab19cb53c739a70fe8aa613ca8c5651'
'9177a5c59465953777faca9f0651106f0b6e98e6f825e276f81f2dd9e4ce5426'
'b5eeae582ddba1b96c600f1cb2b73083cf8ae619af7ade2b45dfc17214497b5e'
'80b2cc652b087ac950a398b554842ce66d1b0703d890d52bfffb2af0ea6ab1a7'
'bfca3b0894ce1b6764217905835db50b9251ad19084c7f89967f37bfb1366cf4')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -1,7 +1,7 @@
From 5ab173c6ee597e09eecf53411ec3726c19a40ce5 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 22:08:10 +0100
Subject: [PATCH 01/17] Use CMake's default import library suffix
Subject: [PATCH 01/18] Use CMake's default import library suffix
Change-Id: I3dbedaec74683e5bfd008f7f2fd1e046dfb921b2
---

View File

@ -1,7 +1,7 @@
From f6576a2efd85e14323eacb15725f48351e7c6a40 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 7 Oct 2020 12:13:37 +0200
Subject: [PATCH 02/17] Fix finding D-Bus
Subject: [PATCH 02/18] Fix finding D-Bus
Change-Id: Ie21eb9cbc6b1b5d9c8b34eea46f54718e5926986
---

View File

@ -1,7 +1,7 @@
From 7e76f866f256a65e49dab374c90366f98bcb2415 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 21:13:19 +0100
Subject: [PATCH 03/17] Fix using static PCRE2 and DBus-1
Subject: [PATCH 03/18] Fix using static PCRE2 and DBus-1
When making a static build of Qt we're using the static version of these
libraries and must define the corresponding macros.

View File

@ -1,7 +1,7 @@
From 1818236acb18356b2fbdd3bca4e7e36f55347c47 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 21:59:33 +0100
Subject: [PATCH 04/17] Fix transitive dependencies (of static libraries)
Subject: [PATCH 04/18] Fix transitive dependencies (of static libraries)
The dependencies of these libraries are not reliably picked up by their
corresponding find modules. This change allows adding the required

View File

@ -1,7 +1,7 @@
From 4819b1a1a2216cb11ebc847e1aec4f7b2587386b Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Mon, 2 Nov 2020 13:47:45 +0100
Subject: [PATCH 05/17] Fix libjpeg workaround for conflict with rpcndr.h
Subject: [PATCH 05/18] Fix libjpeg workaround for conflict with rpcndr.h
Otherwise it won't compile against mingw-w64-libjpeg-turbo. This version of
libjpeg seems to take care of the conflict already as long as jconfig.h is

View File

@ -1,7 +1,7 @@
From 31e89a3cc37e127d89a7d004a433be806912e09e Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 00:33:12 +0100
Subject: [PATCH 06/17] Support finding static MariaDB client library
Subject: [PATCH 06/18] Support finding static MariaDB client library
We need to reverse the order to look for mariadb first (and only then
for mysql) because otherwise it would pick up the static library

View File

@ -1,7 +1,7 @@
From 2ea39a8625fa2a8bd61c91fd479b4299b4181f3f Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 00:34:09 +0100
Subject: [PATCH 07/17] Allow overriding CMAKE_FIND_LIBRARY_SUFFIXES to prefer
Subject: [PATCH 07/18] Allow overriding CMAKE_FIND_LIBRARY_SUFFIXES to prefer
static libraries
Change-Id: Ibb688ac503ecdf1dd3bd838890efdfc01bf706aa

View File

@ -1,7 +1,7 @@
From 5a4ab8c0fb624472ae7e4ad56c2d74b9cc67d57a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 24 Apr 2022 23:00:27 +0200
Subject: [PATCH 08/17] Find fontconfig via pkg-config for correct handling of
Subject: [PATCH 08/18] Find fontconfig via pkg-config for correct handling of
its dependencies
CMake's own find module unforunately does not consider fontconfig's deps so

View File

@ -1,7 +1,7 @@
From 0dbe526b2008f4ceadf5d64f5727c56f186dee20 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 24 Apr 2022 23:49:36 +0200
Subject: [PATCH 09/17] Fix dependency of xcb-image on xcb-util
Subject: [PATCH 09/18] Fix dependency of xcb-image on xcb-util
Considering this linker error, xcb-image apparently depends on xcb-util:
```

View File

@ -1,7 +1,7 @@
From d4755a76385f7168f2571be3e10604579c51e505 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 26 Apr 2022 20:16:31 +0200
Subject: [PATCH 10/17] Allow using properties of PkgConfig targets for glib2
Subject: [PATCH 10/18] Allow using properties of PkgConfig targets for glib2
to handle deps of static glib2
Change-Id: I37d20256d17ae9cc0775e32aa479f1e433ece908

View File

@ -1,7 +1,7 @@
From ffc4949b3ef9aba745c39fe137d04ebeb7218e27 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 1 May 2022 23:28:26 +0200
Subject: [PATCH 11/17] Allow using properties of PkgConfig targets for Wayland
Subject: [PATCH 11/18] Allow using properties of PkgConfig targets for Wayland
to handle deps of static libs
Change-Id: I2a4acf0acaf5a363d551384bb4c33c48a3792f27

View File

@ -1,7 +1,7 @@
From 76d4c957cc1bc010b95a1fd755edd8d5a9b0b5ca Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 7 Nov 2023 23:58:54 +0100
Subject: [PATCH 12/17] Allow overriding preference for shared libzstd library
Subject: [PATCH 12/18] Allow overriding preference for shared libzstd library
As of 3f45905953d57e0174059d7d9d6bc75c3c1c406c Qt prefers the shared zstd
library. This breaks static builds. With this change the static library is

View File

@ -1,7 +1,7 @@
From 4c0319dc229bec434f0ac6df9eff6826d3d06f91 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 17 Feb 2024 20:31:12 +0100
Subject: [PATCH 13/17] Fix errors due to disabled exceptions with cpp_winrt
Subject: [PATCH 13/18] Fix errors due to disabled exceptions with cpp_winrt
support
The winrt headers use exceptions so code using them must be compiled

View File

@ -1,7 +1,7 @@
From 5c025309750ea1093f46b2227d76348de5c0d4aa Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 17 Feb 2024 20:48:21 +0100
Subject: [PATCH 14/17] Fix setting exception flags of plugin targets
Subject: [PATCH 14/18] Fix setting exception flags of plugin targets
Change-Id: I93b1b5fa55f3e35e13351d9c981409f1593bf8a8
---

View File

@ -1,7 +1,7 @@
From 7ac1996bcf302e058b3537c1fa09b443523fe4e3 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 17 Feb 2024 21:39:39 +0100
Subject: [PATCH 15/17] Link corelib correctly against runtimeobject when
Subject: [PATCH 15/18] Link corelib correctly against runtimeobject when
compiling for Windows
This library is included by mingw-w64 and also needs to be linked against

View File

@ -1,7 +1,7 @@
From 3176558331d11327354603618f6bb6a26705c50c Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 17 Feb 2024 23:11:18 +0100
Subject: [PATCH 16/17] Workaround linker error about missing symbol
Subject: [PATCH 16/18] Workaround linker error about missing symbol
`__sync_bool_compare_and_swap_16`
This error only happens when compiling for the x86_64-w64-mingw32 target

View File

@ -1,7 +1,7 @@
From 97da3cf6be021886a367ce894425f842059fbdcf Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 2 Apr 2024 23:29:07 +0200
Subject: [PATCH 17/17] Fix wrong cpp conditional in qspan.h
Subject: [PATCH 17/18] Fix wrong cpp conditional in qspan.h
Picked from https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-base/-/blob/main/fix-wrong-cpp-if.patch

View File

@ -0,0 +1,252 @@
From b27cb80b88f9da8fc5b964ba6c40e6ad816bdc23 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 26 Jun 2021 22:24:12 +0200
Subject: [PATCH 18/18] Fix crashes in rasterization code using setjmp
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Use C++ exceptions instead of setjmp to workaround crashes
* The setjmp/longjmp code crashes when compiling for x86_64-w64-mingw32
with GCC 11 and optimizations enabled¹. It crashes when jumping back
to handle the case of insufficient memory. This change uses C++
exceptions instead (turning the compile unit into a C++ unit instead
of just using C) which should behave identical but don't seem to
crash.
* Fix rendering certain SVGs and possibly other graphics
Change-Id: I01937d13569dd01ab4cb1f608020544c93bc343c
---
¹ See https://bugreports.qt.io/browse/QTBUG-94692 for details.
---
src/gui/CMakeLists.txt | 7 +++-
.../{qgrayraster.c => qgrayraster.cpp} | 41 ++++++++-----------
src/gui/painting/qt_attribution.json | 2 +-
3 files changed, 24 insertions(+), 26 deletions(-)
rename src/gui/painting/{qgrayraster.c => qgrayraster.cpp} (98%)
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
index b0cbee37bbb..8a161584843 100644
--- a/src/gui/CMakeLists.txt
+++ b/src/gui/CMakeLists.txt
@@ -175,7 +175,7 @@ qt_internal_add_module(Gui
painting/qdrawingprimitive_sse2_p.h
painting/qemulationpaintengine.cpp painting/qemulationpaintengine_p.h
painting/qfixed_p.h
- painting/qgrayraster.c painting/qgrayraster_p.h
+ painting/qgrayraster.cpp painting/qgrayraster_p.h
painting/qicc.cpp painting/qicc_p.h
painting/qimagescale.cpp painting/qimagescale_p.h
painting/qmath_p.h
@@ -285,6 +285,11 @@ qt_internal_add_module(Gui
"(^|/)qrhi\\.h$|(^|/)qrhi_platform\\.h$|(^|/)qshader\\.h$|(^|/)qshaderdescription\\.h$"
)
+# enable exceptions for painting/qgrayraster.cpp
+set_source_files_properties("painting/qgrayraster.cpp"
+ PROPERTIES COMPILE_FLAGS "-fexceptions" DISABLE_PRECOMPILE_HEADERS ON SKIP_PRECOMPILE_HEADERS ON
+)
+
# Resources:
if(QT_FEATURE_pdf)
set_source_files_properties("../3rdparty/icc/sRGB2014.icc"
diff --git a/src/gui/painting/qgrayraster.c b/src/gui/painting/qgrayraster.cpp
similarity index 98%
rename from src/gui/painting/qgrayraster.c
rename to src/gui/painting/qgrayraster.cpp
index 3c222c49e16..813cfc08dcf 100644
--- a/src/gui/painting/qgrayraster.c
+++ b/src/gui/painting/qgrayraster.cpp
@@ -3,7 +3,7 @@
/***************************************************************************/
/* */
-/* qgrayraster.c, derived from ftgrays.c */
+/* qgrayraster.cpp, derived from ftgrays.c */
/* */
/* A new `perfect' anti-aliasing renderer (body). */
/* */
@@ -121,17 +121,12 @@
# include <vxWorksCommon.h> /* needed for setjmp.h */
#endif
#include <string.h> /* for qt_ft_memcpy() */
-#include <setjmp.h>
#include <limits.h>
#define QT_FT_UINT_MAX UINT_MAX
#define qt_ft_memset memset
-#define qt_ft_setjmp setjmp
-#define qt_ft_longjmp longjmp
-#define qt_ft_jmp_buf jmp_buf
-
#include <stddef.h>
typedef ptrdiff_t QT_FT_PtrDist;
@@ -141,6 +136,8 @@ typedef ptrdiff_t QT_FT_PtrDist;
#define ErrRaster_Memory_Overflow -4
#define ErrRaster_OutOfMemory -6
+struct RasterMemoryOverflow {};
+
#define QT_FT_BEGIN_HEADER
#define QT_FT_END_HEADER
@@ -274,8 +271,6 @@ QT_FT_END_STMNT
int band_size;
int band_shoot;
- qt_ft_jmp_buf jump_buffer;
-
void* buffer;
long buffer_size;
@@ -297,12 +292,14 @@ QT_FT_END_STMNT
} TRaster, *PRaster;
+ extern "C" {
int q_gray_rendered_spans(TRaster *raster)
{
if ( raster && raster->worker )
return raster->worker->skip_spans > 0 ? 0 : -raster->worker->skip_spans;
return 0;
}
+ }
/*************************************************************************/
/* */
@@ -368,7 +365,6 @@ QT_FT_END_STMNT
ras.max_ey = ( ras.max_ey + 63 ) >> 6;
}
-
/*************************************************************************/
/* */
/* Record the current cell in the table. */
@@ -397,7 +393,7 @@ QT_FT_END_STMNT
}
if ( ras.num_cells >= ras.max_cells )
- qt_ft_longjmp( ras.jump_buffer, 1 );
+ throw RasterMemoryOverflow();
cell = ras.cells + ras.num_cells++;
cell->x = x;
@@ -1470,7 +1466,7 @@ QT_FT_END_STMNT
QT_FT_TRACE5(( " move to (%.2f, %.2f)\n",
v_start.x / 64.0, v_start.y / 64.0 ));
- error = gray_move_to( &v_start, user );
+ error = gray_move_to( &v_start, static_cast<PWorker>(user) );
if ( error )
goto Exit;
@@ -1492,7 +1488,7 @@ QT_FT_END_STMNT
QT_FT_TRACE5(( " line to (%.2f, %.2f)\n",
vec.x / 64.0, vec.y / 64.0 ));
- gray_render_line(user, UPSCALE(vec.x), UPSCALE(vec.y));
+ gray_render_line(static_cast<PWorker>(user), UPSCALE(vec.x), UPSCALE(vec.y));
continue;
}
@@ -1521,7 +1517,7 @@ QT_FT_END_STMNT
" with control (%.2f, %.2f)\n",
vec.x / 64.0, vec.y / 64.0,
v_control.x / 64.0, v_control.y / 64.0 ));
- gray_render_conic(user, &v_control, &vec);
+ gray_render_conic(static_cast<PWorker>(user), &v_control, &vec);
continue;
}
@@ -1535,7 +1531,7 @@ QT_FT_END_STMNT
" with control (%.2f, %.2f)\n",
v_middle.x / 64.0, v_middle.y / 64.0,
v_control.x / 64.0, v_control.y / 64.0 ));
- gray_render_conic(user, &v_control, &v_middle);
+ gray_render_conic(static_cast<PWorker>(user), &v_control, &v_middle);
v_control = vec;
goto Do_Conic;
@@ -1545,7 +1541,7 @@ QT_FT_END_STMNT
" with control (%.2f, %.2f)\n",
v_start.x / 64.0, v_start.y / 64.0,
v_control.x / 64.0, v_control.y / 64.0 ));
- gray_render_conic(user, &v_control, &v_start);
+ gray_render_conic(static_cast<PWorker>(user), &v_control, &v_start);
goto Close;
}
@@ -1580,7 +1576,7 @@ QT_FT_END_STMNT
vec.x / 64.0, vec.y / 64.0,
vec1.x / 64.0, vec1.y / 64.0,
vec2.x / 64.0, vec2.y / 64.0 ));
- gray_render_cubic(user, &vec1, &vec2, &vec);
+ gray_render_cubic(static_cast<PWorker>(user), &vec1, &vec2, &vec);
continue;
}
@@ -1589,7 +1585,7 @@ QT_FT_END_STMNT
v_start.x / 64.0, v_start.y / 64.0,
vec1.x / 64.0, vec1.y / 64.0,
vec2.x / 64.0, vec2.y / 64.0 ));
- gray_render_cubic(user, &vec1, &vec2, &v_start);
+ gray_render_cubic(static_cast<PWorker>(user), &vec1, &vec2, &v_start);
goto Close;
}
}
@@ -1598,7 +1594,7 @@ QT_FT_END_STMNT
/* close the contour with a line segment */
QT_FT_TRACE5(( " line to (%.2f, %.2f)\n",
v_start.x / 64.0, v_start.y / 64.0 ));
- gray_render_line(user, UPSCALE(v_start.x), UPSCALE(v_start.y));
+ gray_render_line(static_cast<PWorker>(user), UPSCALE(v_start.x), UPSCALE(v_start.y));
Close:
first = last + 1;
@@ -1626,14 +1622,11 @@ QT_FT_END_STMNT
{
volatile int error = 0;
- if ( qt_ft_setjmp( ras.jump_buffer ) == 0 )
- {
+ try {
error = QT_FT_Outline_Decompose( &ras.outline, &ras );
if ( !ras.invalid )
gray_record_cell( RAS_VAR );
- }
- else
- {
+ } catch (const RasterMemoryOverflow &) {
error = ErrRaster_Memory_Overflow;
}
@@ -1898,7 +1891,7 @@ QT_FT_END_STMNT
static int
gray_raster_new( QT_FT_Raster* araster )
{
- *araster = malloc(sizeof(TRaster));
+ *araster = static_cast<TRaster *>(malloc(sizeof(TRaster)));
if (!*araster) {
*araster = 0;
return ErrRaster_Memory_Overflow;
diff --git a/src/gui/painting/qt_attribution.json b/src/gui/painting/qt_attribution.json
index 33ed2fd5c7b..658547ce4a8 100644
--- a/src/gui/painting/qt_attribution.json
+++ b/src/gui/painting/qt_attribution.json
@@ -4,7 +4,7 @@
"Name": "Anti-aliasing rasterizer from FreeType 2",
"QDocModule": "qtgui",
"QtUsage": "Used in Qt GUI.",
- "Files": "qgrayraster.c",
+ "Files": "qgrayraster.cpp",
"Description": "FreeType is a freely available software library to render fonts.",
"Homepage": "http://www.freetype.org",
--
2.44.0

View File

@ -13,7 +13,7 @@
pkgname=mingw-w64-qt6-base
_qtver=6.7.0
pkgver=${_qtver/-/}
pkgrel=1
pkgrel=2
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
@ -47,25 +47,27 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/subm
'0014-Fix-setting-exception-flags-of-plugin-targets.patch'
'0015-Link-corelib-correctly-against-runtimeobject-when-co.patch'
'0016-Workaround-linker-error-about-missing-symbol-__sync_.patch'
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch')
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch'
'0018-Fix-crashes-in-rasterization-code-using-setjmp.patch')
sha256sums=('11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254'
'e25f83ddf9e3f9eefcb833751cff8957f32cb2f13f5a1f033679b45d2c9e544e'
'ae4a20f41df34eefc960ed5cb2cf54afb421573f08545d5492882edd18e00a3c'
'5d329d722365c07a28b85a9d1ba9c6c53ad19124662aa1825cdd78ece82c47f3'
'86dd06b2a1bd7b050763346d2bd16a63c914c516782df64a3c6c78268ea33e06'
'4390d712d64d50e2cd8d0cea3a53317cda4e7a21bd99a346f1bd82d18514b6f5'
'73c2780b8efe19f32ea433d2254e0ceeb503f77004812048e3fcef5da363fd31'
'272db976e1a219063d87b8ef21537fbe8959c87acbb34de4cbe5b995bc2eb46a'
'43c5a589616a200ded1a2c81b2d4c09919dc96b7ed0df50dea97148f373db147'
'1fbc2aecb48912ef1f4563f5eb4a1d3f5fad0767052a763cebe72d631cdf1e77'
'e7f591f23724529b6f45182352f0a4274d4c09f0a2686d7f6588857c3d81df08'
'313ae6611f91ce7c12366035f0271a1bd1fa787f68a652de95f2fd55a71b4e1f'
'7de102a3e66bf6aafeb3c0cd0ae49b344e166b902d4d29fd33366883b11f1d5d'
'5e9b7c818bd972c694075a0a01d0f44a9d6d6aaf9e3b36174702b8839f30b76b'
'b707bf9d69cf866dd776e5c07235161186747607dc24264320784e1222272fcc'
'04811ea7c29e15a9d5c63c6f483804ec2538e8e826c3c06019b78a98435b56b2'
'ce7dc86c30f160e6d565c579a84e0b0f799b1afa751ebe0748a0e80f8408cb7f'
'55959f673e409ea952661cbddfb8b046bec7cda3d8b05686bed82ace4246e273')
'2bcfcdfe0fabdb7e7600eb6e1b85d9cda8f86af558a8c09658bc1867cc273ca0'
'a053880e1bd15d1eb4ee8fb27a2f1345af88235fb7cf1515461c3525f0be4daf'
'779093bfe4fafebf278d39de4f4f3f9b7dc6dd6871c3e86de7af51639290fe69'
'4e694cc40009b1a0cb62aa03b6d3d2b692ddca156e776c52f9babdc6e0cb2c32'
'3953be3b3cb029f47994779824c7b7875aa7b5c1c21156dbf76bccce68244d28'
'b359923aae5cddb7f52d9fc803ed2945a5644d0ae637728a401899ccc09c73af'
'ed14103ac853bd72e203ce93c13586dc40bb4d1194e390e5cc631afa29eb920f'
'76d49fe063b197b68f9a5c3e09047e4aad581639682c985762341d16e08c95bb'
'cbd5f1777ecb380fe6444eb3eb04b8abdc5988c3f97ae1f58da422d214448bd1'
'40e287b41d3e09b7fa09804ce1feca87eea1b0a4d662cfb5d7e938c6a43bf155'
'818f0a500a37ff2b5a1fe0502ce2321468482423714f4ca4d9ee02a1c8a85120'
'7de9a5e4adf4afa4d4a4ba6a90c58df810748d97631e8ee2d7051cb64d312069'
'a29667637bbd0949200d6dbb18f8b9b75e55164c6e8dd049296f7dcbe4910a21'
'167921dd76e072857413538fbdbd56b4fab19cb53c739a70fe8aa613ca8c5651'
'9177a5c59465953777faca9f0651106f0b6e98e6f825e276f81f2dd9e4ce5426'
'b5eeae582ddba1b96c600f1cb2b73083cf8ae619af7ade2b45dfc17214497b5e'
'80b2cc652b087ac950a398b554842ce66d1b0703d890d52bfffb2af0ea6ab1a7'
'bfca3b0894ce1b6764217905835db50b9251ad19084c7f89967f37bfb1366cf4')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -0,0 +1 @@
../mingw-w64/0018-Fix-crashes-in-rasterization-code-using-setjmp.patch

View File

@ -46,25 +46,27 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/subm
'0014-Fix-setting-exception-flags-of-plugin-targets.patch'
'0015-Link-corelib-correctly-against-runtimeobject-when-co.patch'
'0016-Workaround-linker-error-about-missing-symbol-__sync_.patch'
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch')
'0017-Fix-wrong-cpp-conditional-in-qspan.h.patch'
'0018-Fix-crashes-in-rasterization-code-using-setjmp.patch')
sha256sums=('11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254'
'e25f83ddf9e3f9eefcb833751cff8957f32cb2f13f5a1f033679b45d2c9e544e'
'ae4a20f41df34eefc960ed5cb2cf54afb421573f08545d5492882edd18e00a3c'
'5d329d722365c07a28b85a9d1ba9c6c53ad19124662aa1825cdd78ece82c47f3'
'86dd06b2a1bd7b050763346d2bd16a63c914c516782df64a3c6c78268ea33e06'
'4390d712d64d50e2cd8d0cea3a53317cda4e7a21bd99a346f1bd82d18514b6f5'
'73c2780b8efe19f32ea433d2254e0ceeb503f77004812048e3fcef5da363fd31'
'272db976e1a219063d87b8ef21537fbe8959c87acbb34de4cbe5b995bc2eb46a'
'43c5a589616a200ded1a2c81b2d4c09919dc96b7ed0df50dea97148f373db147'
'1fbc2aecb48912ef1f4563f5eb4a1d3f5fad0767052a763cebe72d631cdf1e77'
'e7f591f23724529b6f45182352f0a4274d4c09f0a2686d7f6588857c3d81df08'
'313ae6611f91ce7c12366035f0271a1bd1fa787f68a652de95f2fd55a71b4e1f'
'7de102a3e66bf6aafeb3c0cd0ae49b344e166b902d4d29fd33366883b11f1d5d'
'5e9b7c818bd972c694075a0a01d0f44a9d6d6aaf9e3b36174702b8839f30b76b'
'b707bf9d69cf866dd776e5c07235161186747607dc24264320784e1222272fcc'
'04811ea7c29e15a9d5c63c6f483804ec2538e8e826c3c06019b78a98435b56b2'
'ce7dc86c30f160e6d565c579a84e0b0f799b1afa751ebe0748a0e80f8408cb7f'
'55959f673e409ea952661cbddfb8b046bec7cda3d8b05686bed82ace4246e273')
'2bcfcdfe0fabdb7e7600eb6e1b85d9cda8f86af558a8c09658bc1867cc273ca0'
'a053880e1bd15d1eb4ee8fb27a2f1345af88235fb7cf1515461c3525f0be4daf'
'779093bfe4fafebf278d39de4f4f3f9b7dc6dd6871c3e86de7af51639290fe69'
'4e694cc40009b1a0cb62aa03b6d3d2b692ddca156e776c52f9babdc6e0cb2c32'
'3953be3b3cb029f47994779824c7b7875aa7b5c1c21156dbf76bccce68244d28'
'b359923aae5cddb7f52d9fc803ed2945a5644d0ae637728a401899ccc09c73af'
'ed14103ac853bd72e203ce93c13586dc40bb4d1194e390e5cc631afa29eb920f'
'76d49fe063b197b68f9a5c3e09047e4aad581639682c985762341d16e08c95bb'
'cbd5f1777ecb380fe6444eb3eb04b8abdc5988c3f97ae1f58da422d214448bd1'
'40e287b41d3e09b7fa09804ce1feca87eea1b0a4d662cfb5d7e938c6a43bf155'
'818f0a500a37ff2b5a1fe0502ce2321468482423714f4ca4d9ee02a1c8a85120'
'7de9a5e4adf4afa4d4a4ba6a90c58df810748d97631e8ee2d7051cb64d312069'
'a29667637bbd0949200d6dbb18f8b9b75e55164c6e8dd049296f7dcbe4910a21'
'167921dd76e072857413538fbdbd56b4fab19cb53c739a70fe8aa613ca8c5651'
'9177a5c59465953777faca9f0651106f0b6e98e6f825e276f81f2dd9e4ce5426'
'b5eeae582ddba1b96c600f1cb2b73083cf8ae619af7ade2b45dfc17214497b5e'
'80b2cc652b087ac950a398b554842ce66d1b0703d890d52bfffb2af0ea6ab1a7'
'bfca3b0894ce1b6764217905835db50b9251ad19084c7f89967f37bfb1366cf4')
prepare () {
cd $_pkgfqn