From f1cbe603b4c23b44a3fc1ab55c02bda64734985b Mon Sep 17 00:00:00 2001 From: Rmys Date: Wed, 21 Dec 2022 18:16:16 +0300 Subject: [PATCH] qt5-5.15.7 --- .../toolkit/qt5/qt5-connectivity/pspec.xml | 23 +- desktop/toolkit/qt5/qt5-doc/pspec.xml | 59 ++-- .../qt5/qt5-graphicaleffects/pspec.xml | 23 +- .../toolkit/qt5/qt5-imageformats/pspec.xml | 19 +- desktop/toolkit/qt5/qt5-keychain/pspec.xml | 7 + desktop/toolkit/qt5/qt5-location/pspec.xml | 27 +- desktop/toolkit/qt5/qt5-multimedia/pspec.xml | 27 +- .../toolkit/qt5/qt5-quickcontrols/pspec.xml | 23 +- .../toolkit/qt5/qt5-remoteobjects/pspec.xml | 29 +- desktop/toolkit/qt5/qt5-script/pspec.xml | 21 +- desktop/toolkit/qt5/qt5-sensors/pspec.xml | 25 +- desktop/toolkit/qt5/qt5-serialport/pspec.xml | 21 +- .../toolkit/qt5/qt5-svg/files/qt_kde.patch | 259 +++++------------- desktop/toolkit/qt5/qt5-svg/pspec.xml | 21 +- .../toolkit/qt5/qt5-translations/pspec.xml | 21 +- desktop/toolkit/qt5/qt5-webchannel/pspec.xml | 29 +- desktop/toolkit/qt5/qt5-websockets/pspec.xml | 25 +- desktop/toolkit/qt5/qt5-webview/pspec.xml | 23 +- desktop/toolkit/qt5/qt5-x11extras/pspec.xml | 19 +- desktop/toolkit/qt5/qt5-xmlpatterns/pspec.xml | 25 +- desktop/toolkit/qt5/qt5ct/pspec.xml | 17 +- 21 files changed, 384 insertions(+), 359 deletions(-) diff --git a/desktop/toolkit/qt5/qt5-connectivity/pspec.xml b/desktop/toolkit/qt5/qt5-connectivity/pspec.xml index d3b944528a..ee230dc15b 100755 --- a/desktop/toolkit/qt5/qt5-connectivity/pspec.xml +++ b/desktop/toolkit/qt5/qt5-connectivity/pspec.xml @@ -11,21 +11,21 @@ Provides access to Bluetooth hardware Provides access to Bluetooth hardware LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtconnectivity-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtconnectivity-everywhere-opensource-src-5.15.7.tar.xz bluez-libs-devel - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel qt5-connectivity - qt5-base - qt5-declarative + qt5-base + qt5-declarative bluez-libs libgcc @@ -46,7 +46,7 @@ qt5-connectivity - qt5-base-devel + qt5-base-devel @@ -61,6 +61,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-doc/pspec.xml b/desktop/toolkit/qt5/qt5-doc/pspec.xml index 94b1860e71..73b1ea75ba 100755 --- a/desktop/toolkit/qt5/qt5-doc/pspec.xml +++ b/desktop/toolkit/qt5/qt5-doc/pspec.xml @@ -12,40 +12,40 @@ A cross-platform application and UI framework (Documentation) A cross-platform application and UI framework (Documentation) LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtdoc-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtdoc-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-sql-sqlite - qt5-assistant - qt5-multimedia-docs - qt5-quickcontrols-docs - qt5-quickcontrols2-docs - qt5-x11extras-docs - qt5-webchannel-docs + qt5-base-devel + qt5-sql-sqlite + qt5-assistant + qt5-multimedia-docs + qt5-quickcontrols-docs + qt5-quickcontrols2-docs + qt5-x11extras-docs + qt5-webchannel-docs qt5-webkit-docs - qt5-xmlpatterns-docs - qt5-svg-docs - qt5-script-docs - qt5-sensors-docs - qt5-translations - qt5-graphicaleffects-docs - qt5-imageformats-docs - qt5-websockets-docs - qt5-serialport-docs - qt5-location-docs - qt5-connectivity-docs + qt5-xmlpatterns-docs + qt5-svg-docs + qt5-script-docs + qt5-sensors-docs + qt5-translations + qt5-graphicaleffects-docs + qt5-imageformats-docs + qt5-websockets-docs + qt5-serialport-docs + qt5-location-docs + qt5-connectivity-docs qt5-doc - qt5-base - qt5-script - qt5-svg - qt5-xmlpatterns - qt5-assistant - qt5-declarative + qt5-base + qt5-script + qt5-svg + qt5-xmlpatterns + qt5-assistant + qt5-declarative /usr/share/licenses @@ -54,6 +54,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-graphicaleffects/pspec.xml b/desktop/toolkit/qt5/qt5-graphicaleffects/pspec.xml index aca8c5a3d1..6256b2ff92 100755 --- a/desktop/toolkit/qt5/qt5-graphicaleffects/pspec.xml +++ b/desktop/toolkit/qt5/qt5-graphicaleffects/pspec.xml @@ -11,20 +11,20 @@ Graphical effects for use with Qt Quick 2 Graphical effects for use with Qt Quick 2 LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtgraphicaleffects-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtgraphicaleffects-everywhere-opensource-src-5.15.7.tar.xz - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel qt5-graphicaleffects - qt5-base - qt5-declarative + qt5-base + qt5-declarative libgcc @@ -38,7 +38,7 @@ qt5-graphicaleffects-docs - qt5-base + qt5-base /usr/share/doc/qt5 @@ -46,6 +46,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-imageformats/pspec.xml b/desktop/toolkit/qt5/qt5-imageformats/pspec.xml index dd9b708cfa..447febadda 100755 --- a/desktop/toolkit/qt5/qt5-imageformats/pspec.xml +++ b/desktop/toolkit/qt5/qt5-imageformats/pspec.xml @@ -11,11 +11,11 @@ Plugins for additional image formats: TIFF, MNG, TGA, WBMP Plugins for additional image formats: TIFF, MNG, TGA, WBMP LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtimageformats-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtimageformats-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-assistant-devel - qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-sql-sqlite jasper-devel libmng-devel libjpeg-turbo-devel @@ -28,7 +28,7 @@ qt5-imageformats - qt5-base + qt5-base libgcc libmng tiff @@ -45,7 +45,7 @@ qt5-imageformats-docs - qt5-base + qt5-base /usr/share/doc @@ -53,6 +53,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-keychain/pspec.xml b/desktop/toolkit/qt5/qt5-keychain/pspec.xml index a5317ca763..46137107e9 100755 --- a/desktop/toolkit/qt5/qt5-keychain/pspec.xml +++ b/desktop/toolkit/qt5/qt5-keychain/pspec.xml @@ -48,6 +48,13 @@ + + 2022-12-21 + 0.13.2 + Rebuild qt5.15.7 + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 0.13.2 diff --git a/desktop/toolkit/qt5/qt5-location/pspec.xml b/desktop/toolkit/qt5/qt5-location/pspec.xml index a5236e082d..7152f15c14 100755 --- a/desktop/toolkit/qt5/qt5-location/pspec.xml +++ b/desktop/toolkit/qt5/qt5-location/pspec.xml @@ -11,7 +11,7 @@ Provides access to position, satellite and area monitoring classes Provides access to position, satellite and area monitoring classes LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtlocation-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtlocation-everywhere-opensource-src-5.15.7.tar.xz mesa-devel zlib-devel @@ -20,10 +20,10 @@ gconf-devel glib2-devel geoclue-devel - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel @@ -37,8 +37,8 @@ gypsy libgcc geoclue - qt5-base - qt5-declarative + qt5-base + qt5-declarative /usr/lib @@ -55,15 +55,15 @@ qt5-location - qt5-base-devel - qt5-declarative-devel + qt5-base-devel + qt5-declarative-devel qt5-location-docs - qt5-base + qt5-base /usr/share/doc @@ -71,6 +71,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-multimedia/pspec.xml b/desktop/toolkit/qt5/qt5-multimedia/pspec.xml index 4edee8f420..4cbcd98b6e 100755 --- a/desktop/toolkit/qt5/qt5-multimedia/pspec.xml +++ b/desktop/toolkit/qt5/qt5-multimedia/pspec.xml @@ -11,7 +11,7 @@ Classes for audio, video, radio and camera functionality Classes for audio, video, radio and camera functionality LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtmultimedia-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtmultimedia-everywhere-opensource-src-5.15.7.tar.xz icu4c-devel openal-devel @@ -20,10 +20,10 @@ pulseaudio-libs-devel gst-plugins-bad-devel mesa-devel - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel gst-plugins-base-devel @@ -44,8 +44,8 @@ gst-plugins-bad pulseaudio-libs mesa - qt5-base - qt5-declarative + qt5-base + qt5-declarative gst-plugins-base @@ -58,8 +58,8 @@ qt5-multimedia - qt5-base-devel - qt5-declarative-devel + qt5-base-devel + qt5-declarative-devel @@ -69,11 +69,18 @@ /usr/share/doc - qt5-base + qt5-base + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-quickcontrols/pspec.xml b/desktop/toolkit/qt5/qt5-quickcontrols/pspec.xml index 4151cd9996..76253d0258 100755 --- a/desktop/toolkit/qt5/qt5-quickcontrols/pspec.xml +++ b/desktop/toolkit/qt5/qt5-quickcontrols/pspec.xml @@ -11,13 +11,13 @@ Reusable Qt Quick based UI controls to create classic desktop-style user interfaces Reusable Qt Quick based UI controls to create classic desktop-style user interfaces LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtquickcontrols-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtquickcontrols-everywhere-opensource-src-5.15.7.tar.xz mesa-devel - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel @@ -25,8 +25,8 @@ qt5-quickcontrols libgcc - qt5-base - qt5-declarative + qt5-base + qt5-declarative /usr/lib @@ -38,7 +38,7 @@ qt5-quickcontrols-docs - qt5-base + qt5-base /usr/share/doc @@ -46,6 +46,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-remoteobjects/pspec.xml b/desktop/toolkit/qt5/qt5-remoteobjects/pspec.xml index 23802a7c3b..5475f804e8 100755 --- a/desktop/toolkit/qt5/qt5-remoteobjects/pspec.xml +++ b/desktop/toolkit/qt5/qt5-remoteobjects/pspec.xml @@ -12,12 +12,12 @@ LGPLv2.1-linking-exception Inter-process communication (IPC) module developed for Qt qt5-remoteobjects, Inter-process communication (IPC) module developed for Qt - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtremoteobjects-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtremoteobjects-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-sql-sqlite - qt5-assistant-devel - qt5-declarative-devel + qt5-base-devel + qt5-sql-sqlite + qt5-assistant-devel + qt5-declarative-devel @@ -25,9 +25,9 @@ qt5-remoteobjects Inter-process communication (IPC) module developed for Qt - qt5-base - qt5-assistant - qt5-declarative + qt5-base + qt5-assistant + qt5-declarative /usr/lib @@ -46,8 +46,8 @@ qt5-remoteobjects - qt5-base-devel - qt5-declarative-devel + qt5-base-devel + qt5-declarative-devel @@ -55,7 +55,7 @@ qt5-remoteobjects-docs Documentation files for qt5-remoteobjects - qt5-remoteobjects + qt5-remoteobjects /usr/share/doc @@ -63,6 +63,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-script/pspec.xml b/desktop/toolkit/qt5/qt5-script/pspec.xml index b19b89ae5d..cbb5136883 100755 --- a/desktop/toolkit/qt5/qt5-script/pspec.xml +++ b/desktop/toolkit/qt5/qt5-script/pspec.xml @@ -11,11 +11,11 @@ Classes for making Qt applications scriptable. Provided for Qt 5.x compatibility Classes for making Qt applications scriptable. Provided for Qt 5.x compatibility LGPLv2.1-linking-exception - https://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtscript-everywhere-opensource-src-5.15.5.tar.xz + https://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtscript-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-assistant-devel - qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-sql-sqlite mesa-devel libgcc @@ -24,7 +24,7 @@ qt5-script - qt5-base + qt5-base libgcc @@ -37,7 +37,7 @@ qt5-script-devel - qt5-base-devel + qt5-base-devel qt5-script @@ -49,7 +49,7 @@ qt5-script-docs - qt5-base + qt5-base /usr/share/doc/qt5 @@ -57,6 +57,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-sensors/pspec.xml b/desktop/toolkit/qt5/qt5-sensors/pspec.xml index 6254794d5e..4276579bcf 100755 --- a/desktop/toolkit/qt5/qt5-sensors/pspec.xml +++ b/desktop/toolkit/qt5/qt5-sensors/pspec.xml @@ -11,12 +11,12 @@ Provides access to sensor hardware and motion gesture recognition Provides access to sensor hardware and motion gesture recognition LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtsensors-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtsensors-everywhere-opensource-src-5.15.7.tar.xz - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel @@ -24,8 +24,8 @@ qt5-sensors libgcc - qt5-base - qt5-declarative + qt5-base + qt5-declarative /usr/lib @@ -38,7 +38,7 @@ qt5-sensors-devel qt5-sensors - qt5-base-devel + qt5-base-devel /usr/lib/pkgconfig @@ -49,7 +49,7 @@ qt5-sensors-docs - qt5-base + qt5-base /usr/share/doc/qt5 @@ -58,6 +58,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-serialport/pspec.xml b/desktop/toolkit/qt5/qt5-serialport/pspec.xml index ea208573dc..129c473ec5 100755 --- a/desktop/toolkit/qt5/qt5-serialport/pspec.xml +++ b/desktop/toolkit/qt5/qt5-serialport/pspec.xml @@ -11,11 +11,11 @@ Provides access to hardware and virtual serial ports Provides access to hardware and virtual serial ports LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtserialport-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtserialport-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-assistant-devel - qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-sql-sqlite eudev-devel @@ -23,7 +23,7 @@ qt5-serialport - qt5-base + qt5-base eudev libgcc @@ -37,7 +37,7 @@ qt5-serialport-devel - qt5-base-devel + qt5-base-devel qt5-serialport @@ -49,7 +49,7 @@ qt5-serialport-docs - qt5-base + qt5-base /usr/share/doc/qt5 @@ -57,6 +57,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-svg/files/qt_kde.patch b/desktop/toolkit/qt5/qt5-svg/files/qt_kde.patch index 22461e3010..c9b5e09ac6 100644 --- a/desktop/toolkit/qt5/qt5-svg/files/qt_kde.patch +++ b/desktop/toolkit/qt5/qt5-svg/files/qt_kde.patch @@ -12,43 +12,16 @@ index 4136aaf..fd3529a 100644 QPainter p(image); d->r.render(&p, bounds); diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp -index 9dac05c..f2653af 100644 +index 299efac..8dda563 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp -@@ -728,15 +728,25 @@ static QVector parseNumbersList(const QChar *&str) - return points; - } - --static inline void parseNumbersArray(const QChar *&str, QVarLengthArray &points) -+static inline void parseNumbersArray(const QChar *&str, QVarLengthArray &points, -+ const char *pattern = nullptr) - { -+ const size_t patternLen = qstrlen(pattern); - while (str->isSpace()) - ++str; - while (isDigit(str->unicode()) || - *str == QLatin1Char('-') || *str == QLatin1Char('+') || - *str == QLatin1Char('.')) { - -- points.append(toDouble(str)); -+ if (patternLen && pattern[points.size() % patternLen] == 'f') { -+ // flag expected, may only be 0 or 1 -+ if (*str != QLatin1Char('0') && *str != QLatin1Char('1')) -+ return; -+ points.append(*str == QLatin1Char('0') ? 0.0 : 1.0); -+ ++str; -+ } else { -+ points.append(toDouble(str)); -+ } - - while (str->isSpace()) - ++str; -@@ -1383,8 +1393,10 @@ static void parseFont(QSvgNode *node, +@@ -1393,9 +1393,10 @@ static void parseFont(QSvgNode *node, case FontSizeNone: break; case FontSizeValue: { - QSvgHandler::LengthType dummy; // should always be pixel size -- fontStyle->setSize(parseLength(attributes.fontSize, dummy, handler)); +- fontStyle->setSize(qMin(parseLength(attributes.fontSize, dummy, handler), +- qreal(0xffff))); + QSvgHandler::LengthType type; + qreal fs = parseLength(attributes.fontSize, type, handler); + fs = convertToPixels(fs, true, type); @@ -56,35 +29,25 @@ index 9dac05c..f2653af 100644 } break; default: -@@ -1615,6 +1627,7 @@ static void pathArc(QPainterPath &path, - +@@ -1626,6 +1627,7 @@ static void pathArc(QPainterPath &path, + static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) { + const int maxElementCount = 0x7fff; // Assume file corruption if more path elements than this qreal x0 = 0, y0 = 0; // starting point qreal x = 0, y = 0; // current point char lastMode = 0; -@@ -1622,28 +1635,31 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1633,7 +1635,8 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) const QChar *str = dataStr.constData(); const QChar *end = str + dataStr.size(); - + - while (str != end) { + bool ok = true; + while (ok && str != end) { while (str->isSpace() && (str + 1) != end) ++str; QChar pathElem = *str; - ++str; - QChar endc = *end; - *const_cast(end) = 0; // parseNumbersArray requires 0-termination that QStringRef cannot guarantee -+ const char *pattern = nullptr; -+ if (pathElem == QLatin1Char('a') || pathElem == QLatin1Char('A')) -+ pattern = "rrrffrr"; - QVarLengthArray arg; -- parseNumbersArray(str, arg); -+ parseNumbersArray(str, arg, pattern); - *const_cast(end) = endc; - if (pathElem == QLatin1Char('z') || pathElem == QLatin1Char('Z')) +@@ -1650,14 +1653,13 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) arg.append(0);//dummy const qreal *num = arg.constData(); int count = arg.count(); @@ -101,7 +64,7 @@ index 9dac05c..f2653af 100644 break; } x = x0 = num[0] + offsetX; -@@ -1660,8 +1676,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1674,8 +1676,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) break; case 'M': { if (count < 2) { @@ -111,7 +74,7 @@ index 9dac05c..f2653af 100644 break; } x = x0 = num[0]; -@@ -1687,8 +1702,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1701,8 +1702,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) break; case 'l': { if (count < 2) { @@ -121,7 +84,7 @@ index 9dac05c..f2653af 100644 break; } x = num[0] + offsetX; -@@ -1701,8 +1715,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1715,8 +1715,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) break; case 'L': { if (count < 2) { @@ -131,7 +94,7 @@ index 9dac05c..f2653af 100644 break; } x = num[0]; -@@ -1742,8 +1755,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1756,8 +1755,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) break; case 'c': { if (count < 6) { @@ -141,7 +104,7 @@ index 9dac05c..f2653af 100644 break; } QPointF c1(num[0] + offsetX, num[1] + offsetY); -@@ -1759,8 +1771,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1773,8 +1771,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 'C': { if (count < 6) { @@ -151,7 +114,7 @@ index 9dac05c..f2653af 100644 break; } QPointF c1(num[0], num[1]); -@@ -1776,8 +1787,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1790,8 +1787,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 's': { if (count < 4) { @@ -161,7 +124,7 @@ index 9dac05c..f2653af 100644 break; } QPointF c1; -@@ -1798,8 +1808,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1812,8 +1808,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 'S': { if (count < 4) { @@ -171,7 +134,7 @@ index 9dac05c..f2653af 100644 break; } QPointF c1; -@@ -1820,8 +1829,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1834,8 +1829,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 'q': { if (count < 4) { @@ -181,7 +144,7 @@ index 9dac05c..f2653af 100644 break; } QPointF c(num[0] + offsetX, num[1] + offsetY); -@@ -1836,8 +1844,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1850,8 +1844,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 'Q': { if (count < 4) { @@ -191,7 +154,7 @@ index 9dac05c..f2653af 100644 break; } QPointF c(num[0], num[1]); -@@ -1852,8 +1859,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1866,8 +1859,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 't': { if (count < 2) { @@ -201,7 +164,7 @@ index 9dac05c..f2653af 100644 break; } QPointF e(num[0] + offsetX, num[1] + offsetY); -@@ -1873,8 +1879,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1887,8 +1879,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 'T': { if (count < 2) { @@ -211,7 +174,7 @@ index 9dac05c..f2653af 100644 break; } QPointF e(num[0], num[1]); -@@ -1894,8 +1899,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1908,8 +1899,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } case 'a': { if (count < 7) { @@ -221,7 +184,7 @@ index 9dac05c..f2653af 100644 break; } qreal rx = (*num++); -@@ -1917,8 +1921,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1931,8 +1921,7 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) break; case 'A': { if (count < 7) { @@ -231,7 +194,7 @@ index 9dac05c..f2653af 100644 break; } qreal rx = (*num++); -@@ -1939,12 +1942,15 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) +@@ -1953,12 +1942,15 @@ static bool parsePathDataFast(const QStringRef &dataStr, QPainterPath &path) } break; default: @@ -247,121 +210,39 @@ index 9dac05c..f2653af 100644 - return true; + return ok; } - + static bool parseStyle(QSvgNode *node, -@@ -2358,6 +2364,27 @@ static bool parseAnimateNode(QSvgNode *parent, - return true; - } - -+static int parseClockValue(QString str, bool *ok) -+{ -+ int res = 0; -+ int ms = 1000; -+ str = str.trimmed(); -+ if (str.endsWith(QLatin1String("ms"))) { -+ str.chop(2); -+ ms = 1; -+ } else if (str.endsWith(QLatin1String("s"))) { -+ str.chop(1); -+ } -+ double val = ms * toDouble(str, ok); -+ if (ok) { -+ if (val > std::numeric_limits::min() && val < std::numeric_limits::max()) -+ res = static_cast(val); -+ else -+ *ok = false; -+ } -+ return res; -+} -+ - static bool parseAnimateColorNode(QSvgNode *parent, - const QXmlStreamAttributes &attributes, - QSvgHandler *handler) -@@ -2391,23 +2418,13 @@ static bool parseAnimateColorNode(QSvgNode *parent, +@@ -2522,6 +2514,8 @@ static bool parseAnimateTransformNode(QSvgNode *parent, + ++s; } } - -- int ms = 1000; -- beginStr = beginStr.trimmed(); -- if (beginStr.endsWith(QLatin1String("ms"))) { -- beginStr.chop(2); -- ms = 1; -- } else if (beginStr.endsWith(QLatin1String("s"))) { -- beginStr.chop(1); -- } -- durStr = durStr.trimmed(); -- if (durStr.endsWith(QLatin1String("ms"))) { -- durStr.chop(2); -- ms = 1; -- } else if (durStr.endsWith(QLatin1String("s"))) { -- durStr.chop(1); -- } -- int begin = static_cast(toDouble(beginStr) * ms); -- int end = static_cast((toDouble(durStr) + begin) * ms); -+ bool ok = true; -+ int begin = parseClockValue(beginStr, &ok); -+ if (!ok) ++ if (vals.count() % 3 != 0) + return false; -+ int end = begin + parseClockValue(durStr, &ok); -+ if (!ok || end <= begin) -+ return false; - - QSvgAnimateColor *anim = new QSvgAnimateColor(begin, end, 0); - anim->setArgs((targetStr == QLatin1String("fill")), colors); -@@ -2497,24 +2514,13 @@ static bool parseAnimateTransformNode(QSvgNode *parent, - } - } - -- int ms = 1000; -- beginStr = beginStr.trimmed(); -- if (beginStr.endsWith(QLatin1String("ms"))) { -- beginStr.chop(2); -- ms = 1; -- } else if (beginStr.endsWith(QLatin1String("s"))) { -- beginStr.chop(1); -- } -- int begin = static_cast(toDouble(beginStr) * ms); -- durStr = durStr.trimmed(); -- if (durStr.endsWith(QLatin1String("ms"))) { -- durStr.chop(2); -- ms = 1; -- } else if (durStr.endsWith(QLatin1String("s"))) { -- durStr.chop(1); -- ms = 1000; -- } -- int end = static_cast(toDouble(durStr)*ms) + begin; -+ bool ok = true; -+ int begin = parseClockValue(beginStr, &ok); -+ if (!ok) -+ return false; -+ int end = begin + parseClockValue(durStr, &ok); -+ if (!ok || end <= begin) -+ return false; - - QSvgAnimateTransform::TransformType type = QSvgAnimateTransform::Empty; - if (typeStr == QLatin1String("translate")) { -@@ -2570,6 +2576,8 @@ static QSvgNode *createCircleNode(QSvgNode *parent, + + bool ok = true; + int begin = parseClockValue(beginStr, &ok); +@@ -2585,6 +2579,8 @@ static QSvgNode *createCircleNode(QSvgNode *parent, qreal ncx = toDouble(cx); qreal ncy = toDouble(cy); qreal nr = toDouble(r); + if (nr < 0.0) + return nullptr; - + QRectF rect(ncx-nr, ncy-nr, nr*2, nr*2); QSvgNode *circle = new QSvgCircle(parent, rect); -@@ -2980,8 +2988,8 @@ static QSvgNode *createPathNode(QSvgNode *parent, - +@@ -2995,8 +2991,8 @@ static QSvgNode *createPathNode(QSvgNode *parent, + QPainterPath qpath; qpath.setFillRule(Qt::WindingFill); - //XXX do error handling - parsePathDataFast(data, qpath); + if (!parsePathDataFast(data, qpath)) + qCWarning(lcSvgHandler, "Invalid path data; path truncated."); - + QSvgNode *path = new QSvgPath(parent, qpath); return path; -@@ -3040,15 +3048,16 @@ static QSvgStyleProperty *createRadialGradientNode(QSvgNode *node, - +@@ -3055,15 +3051,16 @@ static QSvgStyleProperty *createRadialGradientNode(QSvgNode *node, + qreal ncx = 0.5; qreal ncy = 0.5; - qreal nr = 0.5; @@ -377,20 +258,20 @@ index 9dac05c..f2653af 100644 - nr = 0.5; + if (nr <= 0.0) + return nullptr; - + qreal nfx = ncx; if (!fx.isEmpty()) -@@ -3344,7 +3353,9 @@ static QSvgNode *createTextNode(QSvgNode *parent, +@@ -3359,7 +3356,9 @@ static QSvgNode *createTextNode(QSvgNode *parent, //### editable and rotate not handled QSvgHandler::LengthType type; qreal nx = parseLength(x, type, handler); + nx = convertToPixels(nx, true, type); qreal ny = parseLength(y, type, handler); + ny = convertToPixels(ny, true, type); - + QSvgNode *text = new QSvgText(parent, QPointF(nx, ny)); return text; -@@ -3685,9 +3696,7 @@ void QSvgHandler::parse() +@@ -3700,9 +3699,7 @@ void QSvgHandler::parse() case QXmlStreamReader::EndElement: endElement(xml->name()); ++remainingUnfinishedElements; @@ -407,7 +288,7 @@ index b89608b..89c9e4e 100644 +++ b/src/svg/qsvgstructure.cpp @@ -255,9 +255,13 @@ inline static bool isSupportedSvgFeature(const QString &str) }; - + if (str.length() <= MAX_WORD_LENGTH && str.length() >= MIN_WORD_LENGTH) { + const char16_t unicode44 = str.at(44).unicode(); + const char16_t unicode45 = str.at(45).unicode(); @@ -428,7 +309,7 @@ index 63d0797..19e7154 100644 @@ -433,8 +433,16 @@ void QSvgTinyDocument::draw(QPainter *p, QSvgExtraStates &) draw(p); } - + +static bool isValidMatrix(const QTransform &transform) +{ + qreal determinant = transform.determinant(); @@ -450,37 +331,41 @@ index 63d0797..19e7154 100644 + if (!isValidMatrix(p->worldTransform())) + p->setWorldTransform(oldTransform); } - + QRectF QSvgTinyDocument::boundsOnElement(const QString &id) const diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp -index 8f1f03b..36c76ec 100644 +index 36c76ec..db71e02 100644 --- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp +++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp -@@ -74,6 +74,7 @@ private slots: - void fillRule(); - void opacity(); - void paths(); -+ void paths2(); - void displayMode(); - void strokeInherit(); - void testFillInheritance(); -@@ -1047,6 +1048,19 @@ void tst_QSvgRenderer::paths() - } +@@ -86,6 +86,8 @@ private slots: + void oss_fuzz_23731(); + void oss_fuzz_24131(); + void oss_fuzz_24738(); ++ void illegalAnimateTransform_data(); ++ void illegalAnimateTransform(); + + #ifndef QT_NO_COMPRESS + void testGzLoading(); +@@ -1646,5 +1648,22 @@ void tst_QSvgRenderer::oss_fuzz_24738() + QSvgRenderer().load(QByteArray("")); } - -+void tst_QSvgRenderer::paths2() + ++void tst_QSvgRenderer::illegalAnimateTransform_data() +{ -+ const char *svg = -+ "" -+ "" -+ ""; ++ QTest::addColumn("svg"); + -+ QByteArray data(svg); -+ QSvgRenderer renderer(data); -+ QVERIFY(renderer.isValid()); -+ QCOMPARE(renderer.boundsOnElement(QLatin1String("path1")).toRect(), QRect(3, 8, 10, 5)); ++ QTest::newRow("case1") << QByteArray(""); ++ QTest::newRow("case2") << QByteArray(""); ++ QTest::newRow("case3") << QByteArray(""); ++ QTest::newRow("case4") << QByteArray(""); +} + - void tst_QSvgRenderer::displayMode() - { - static const char *svgs[] = { ++void tst_QSvgRenderer::illegalAnimateTransform() ++{ ++ QFETCH(QByteArray, svg); ++ QSvgRenderer renderer; ++ QVERIFY(!renderer.load(svg)); // also shouldn't assert ++} ++ + QTEST_MAIN(tst_QSvgRenderer) + #include "tst_qsvgrenderer.moc" diff --git a/desktop/toolkit/qt5/qt5-svg/pspec.xml b/desktop/toolkit/qt5/qt5-svg/pspec.xml index 8cadb2e36c..1125b3e8ac 100755 --- a/desktop/toolkit/qt5/qt5-svg/pspec.xml +++ b/desktop/toolkit/qt5/qt5-svg/pspec.xml @@ -9,12 +9,12 @@ LGPLv2.1-linking-exception Classes for displaying the contents of SVG files Classes for displaying the contents of SVG files - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtsvg-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtsvg-everywhere-opensource-src-5.15.7.tar.xz mesa-devel - qt5-base-devel - qt5-assistant-devel - qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-sql-sqlite zlib-devel @@ -25,7 +25,7 @@ qt5-svg libgcc - qt5-base + qt5-base zlib @@ -39,7 +39,7 @@ qt5-svg-devel Development files for qt5-svg - qt5-base-devel + qt5-base-devel qt5-svg @@ -51,7 +51,7 @@ qt5-svg-docs - qt5-base + qt5-base /usr/share/doc @@ -60,6 +60,13 @@ + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-08-24 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-translations/pspec.xml b/desktop/toolkit/qt5/qt5-translations/pspec.xml index 73674d5140..c1077b2a24 100755 --- a/desktop/toolkit/qt5/qt5-translations/pspec.xml +++ b/desktop/toolkit/qt5/qt5-translations/pspec.xml @@ -11,15 +11,15 @@ A cross-platform application and UI framework (Translations) A cross-platform application and UI framework (Translations) LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qttranslations-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qttranslations-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-assistant-devel - qt5-sql-sqlite - qt5-linguist + qt5-base-devel + qt5-assistant-devel + qt5-sql-sqlite + qt5-linguist - qt_kde.patch + @@ -30,11 +30,18 @@ /usr/share/licenses/ - qt5-base + qt5-base + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-08-24 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-webchannel/pspec.xml b/desktop/toolkit/qt5/qt5-webchannel/pspec.xml index 8254126d0f..3fd8812b4e 100755 --- a/desktop/toolkit/qt5/qt5-webchannel/pspec.xml +++ b/desktop/toolkit/qt5/qt5-webchannel/pspec.xml @@ -11,12 +11,12 @@ Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtwebchannel-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtwebchannel-everywhere-opensource-src-5.15.7.tar.xz - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel @@ -29,8 +29,8 @@ libgcc - qt5-base - qt5-declarative + qt5-base + qt5-declarative @@ -42,8 +42,8 @@ qt5-webchannel - qt5-base-devel - qt5-declarative-devel + qt5-base-devel + qt5-declarative-devel @@ -54,12 +54,19 @@ libgcc - qt5-base - qt5-declarative + qt5-base + qt5-declarative + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-websockets/pspec.xml b/desktop/toolkit/qt5/qt5-websockets/pspec.xml index 1c7d16e7d5..093b2344ec 100755 --- a/desktop/toolkit/qt5/qt5-websockets/pspec.xml +++ b/desktop/toolkit/qt5/qt5-websockets/pspec.xml @@ -11,12 +11,12 @@ Provides WebSocket communication compliant with RFC 6455 Provides WebSocket communication compliant with RFC 6455 LGPLv2.1-linking-exception - http://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtwebsockets-everywhere-opensource-src-5.15.5.tar.xz + http://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtwebsockets-everywhere-opensource-src-5.15.7.tar.xz - qt5-sql-sqlite - qt5-base-devel - qt5-assistant-devel - qt5-declarative-devel + qt5-sql-sqlite + qt5-base-devel + qt5-assistant-devel + qt5-declarative-devel @@ -28,8 +28,8 @@ libgcc - qt5-base - qt5-declarative + qt5-base + qt5-declarative @@ -41,7 +41,7 @@ qt5-websockets - qt5-base-devel + qt5-base-devel @@ -51,11 +51,18 @@ /usr/share/doc/qt5 - qt5-base + qt5-base + + 2022-12-21 + 5.15.7 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2022-07-05 5.15.5 diff --git a/desktop/toolkit/qt5/qt5-webview/pspec.xml b/desktop/toolkit/qt5/qt5-webview/pspec.xml index 8ad0d2aee7..5b819a4fbe 100644 --- a/desktop/toolkit/qt5/qt5-webview/pspec.xml +++ b/desktop/toolkit/qt5/qt5-webview/pspec.xml @@ -12,11 +12,11 @@ library Provides a way to display web content in a QML application Bir QML uygulamasında web içeriğini görüntülemenin bir yolunu sağlar - https://download.qt.io/official_releases/qt/5.15/5.15.5/submodules/qtwebview-everywhere-opensource-src-5.15.5.tar.xz + https://download.qt.io/official_releases/qt/5.15/5.15.7/submodules/qtwebview-everywhere-opensource-src-5.15.7.tar.xz - qt5-base-devel - qt5-webengine-devel - qt5-declarative-devel + qt5-base-devel + qt5-webengine-devel + qt5-declarative-devel + + 2022-12-21 + 1.5 + Rebuild. + Kamil Atlı + suvari@pisilinux.org + 2022-07-05 1.5